Microsoft distribue les correctifs Microsoft SQL Server 2008 R2 SP1 sous la forme d’un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2 SP1.
Symptômes
Prenons l’exemple du scénario suivant :
-
Une base de données de gestion des données de gestion est dotée d’une table Snapshots.query_stats qui contient une grande quantité de données dans Microsoft sql Server 2008 ou Microsoft sql Server 2008 R2.
-
Vous exécutez le travail de collecteur de données suivant pour effacer les données de la base de données MDW.
mdw_purge_data_ [<nom de la base de données MDW>]
Dans ce scénario, le traitement du collecteur de données peut prendre un certain temps pour effacer les données. Remarque
-
Le processus de collecteur de données appelle la procédure stockée Core.sp_purge_data pour effacer des données.
-
Pour plus d’informations sur ce problème dans SQL Server 2008 R2, visitez le site Web Microsoft suivant :
Informations générales sur ce problème dans SQL Server 2008 R2
Cause
Ce problème survient parce que le travail de mdw_purge_data nécessite un certain temps pour effectuer une opération d’effacement orientée par lot si le tableau de Snapshots.query_stats contient une grande quantité de données.
Résolution
Informations sur le Service Pack
SQL Server 2008Pour résoudre ce problème dans SQL Server 2008, procédez comme suit :
-
Obtenez le dernier Service Pack pour SQL Server 2008. pour plus d’informations, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :
968382 Obtention du dernier Service Pack pour SQL Server 2008
-
Pour une base de données MDW existante, vous devez la mettre à jour en exécutant l’Assistant Configurer le Data Warehouse de gestion après avoir installé le dernier Service Pack pour SQL Server 2008.
SQL Server 2008 R2Pour résoudre ce problème dans SQL Server 2008 R2, procédez comme suit :
-
Obtenez le dernier Service Pack pour SQL Server 2008 R2. Pour plus d’informations, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :
2527041 Obtention du dernier Service Pack pour SQL Server 2008 R2
-
Dans le cas d’une base de données MDW existante, vous devez la mettre à jour en exécutant l’Assistant Configurer le Data Warehouse de gestion après avoir installé le dernier Service Pack pour SQL Server 2008 R2.
-
Mettez à jour la procédure stockée sp_purge_orphaned_notable_query_text comme suit :procédure existante
-- Deleting TOP N orphaned rows in query plan table by joining info from temp table variable-- This is done to speed up delete query. DELETE TOP (@delete_batch_size) snapshots.notable_query_plan FROM snapshots.notable_query_plan AS qp , #tmp_notable_query_plan AS tmpWHERE tmp.[sql_handle] = qp.[sql_handle]
Procédure mise à jour
-- Deleting TOP N orphaned rows in query text table by joining info from temp table-- This is done to speed up delete query. DELETE TOP (@delete_batch_size) snapshots.notable_query_text FROM snapshots.notable_query_text AS qt, #tmp_notable_query_text AS tmpWHERE tmp.[sql_handle] = qt.[sql_handle]
Remarque Ces modifications sont nécessaires pour corriger le texte de la procédure stockée sp_purge_orphaned_notable_query_text, car l’instruction DELETE fait référence à la table snapshots.notable_query_plan de manière incorrecte après avoir appliqué SQL Server 2008 R2 Service Pack 1.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Vous pouvez également consulter le script complet pour mettre à jour la procédure stockée du collecteur de données dans le blog suivant :