Microsoft vertreibt Microsoft SQL Server 2008 R2 SP1-Fixes als eine herunterladbare Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 R2 SP1 enthalten waren.
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Eine Verwaltungs-Data Warehouse-Datenbank (MDW) verfügt über eine Snapshots.query_stats Tabelle, die eine große Datenmenge in Microsoft SQL Server 2008 oder in Microsoft SQL Server 2008 R2 enthält.
-
Führen Sie den folgenden Datenauflister-Auftrag aus, um Daten aus der MDW-Datenbank zu löschen.
mdw_purge_data_ [<MDW-Datenbankname>]
In diesem Szenario dauert es lange, bis der Daten Sammlungsauftrag Daten löscht. Hinweise
-
Der Daten Sammlungsauftrag Ruft die Core.sp_purge_data gespeicherte Prozedur auf, um Daten zu löschen.
-
Weitere Informationen zu diesem Problem in SQL Server 2008 R2 finden Sie auf der folgenden Microsoft-Website:
Allgemeine Informationen zu diesem Problem in SQL Server 2008 R2
Ursache
Dieses Problem tritt auf, weil der mdw_purge_data Auftrag lange dauert, um einen Batch orientierten Löschvorgang auszuführen, wenn die Snapshots.query_stats Tabelle eine große Datenmenge enthält.
Fehlerbehebung
Service Pack-Informationen
SQL Server 2008Führen Sie die folgenden Schritte aus, um dieses Problem in SQL Server 2008 zu beheben:
-
Besorgen Sie sich das neueste Service Pack für SQL Server 2008. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
968382 So erhalten Sie das neueste Service Pack für SQL Server 2008
-
Bei einer vorhandenen MDW-Datenbank müssen Sie diese aktualisieren, indem Sie nach der Installation des neuesten Service Packs für SQL Server 2008 den Assistenten zum Konfigurieren des Verwaltungs-Data Warehouses ausführen.
SQL Server 2008 R2Führen Sie die folgenden Schritte aus, um dieses Problem in SQL Server 2008 R2 zu beheben:
-
Besorgen Sie sich das neueste Service Pack für SQL Server 2008 R2. Wenn Sie weitere Informationen wünschen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2527041 So erhalten Sie das neueste Service Pack für SQL Server 2008 R2
-
Bei einer vorhandenen MDW-Datenbank müssen Sie diese aktualisieren, indem Sie nach der Installation des neuesten Service Packs für SQL Server 2008 R2 den Assistenten zum Konfigurieren des Verwaltungs-Data Warehouses ausführen.
-
Aktualisieren Sie die sp_purge_orphaned_notable_query_text gespeicherte Prozedur wie folgt:vorhandene Prozedur
-- 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]
Aktualisierte Prozedur
-- 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]
Hinweis Diese Änderungen sind erforderlich, um den Text der gespeicherten Prozedur sp_purge_orphaned_notable_query_text zu korrigieren, da die DELETE-Anweisung nach dem Anwenden von SQL Server 2008 R2 Service Pack 1 fälschlicherweise auf die Snapshots.notable_query_plan Tabelle verweist.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Das vollständige Skript zum Aktualisieren der gespeicherten Prozedur des Datensammlers finden Sie auch im folgenden Blog: