Microsoft distribuerar Microsoft SQL Server 2008 R2 SP1-korrigeringsfiler som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den tidigare versionen av SQL Server 2008 R2 SP1.
Symptom
Tänk dig följande situation:
-
Det finns en Snapshots.query_stats -tabell som innehåller en stor mängd data i Microsoft sql Server 2008 eller Microsoft sql Server 2008 R2.
-
Du kör följande data insamlings jobb för att rensa data från MDW-databasen.
mdw_purge_data_ [<MDW-databasnamn>]
I det här scenariot tar det lång tid för data insamlings jobbet att rensa data. Kommentarer
-
Data insamlings jobbet anropar den Core.sp_purge_data lagrade proceduren för att rensa data.
-
Mer information om det här problemet i SQL Server 2008 R2 finns på följande Microsoft-webbplats:
Allmän information om det här problemet i SQL Server 2008 R2
Orsak
Det här problemet beror på att mdw_purge_data -jobbet tar lång tid att utföra en grupporienterad rensning om Snapshots.query_stats tabellen innehåller en stor mängd data.
Lösning
Information om Service Pack
SQL Server 2008Så här löser du problemet i SQL Server 2008:
-
Skaffa den senaste Service Pack-versionen för SQL Server 2008. om du vill ha mer information klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
968382 Skaffa den senaste Service Pack-versionen för SQL Server 2008
-
För en befintlig MDW-databas måste du uppdatera den genom att köra guiden Konfigurera data lager för hantering när du har installerat den senaste Service Pack-versionen för SQL Server 2008.
SQL Server 2008 R2Så här löser du problemet i SQL Server 2008 R2:
-
Skaffa den senaste Service Pack-versionen för SQL Server 2008 R2. Mer information får du om du klickar på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2527041 Skaffa den senaste Service Pack-versionen för SQL Server 2008 R2
-
För en befintlig MDW-databas måste du uppdatera den genom att köra guiden Konfigurera data lager för hantering när du har installerat den senaste Service Pack-versionen för SQL Server 2008 R2
-
Uppdatera den sp_purge_orphaned_notable_query_text lagrade proceduren på följande sätt:befintlig procedur
-- 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]
Uppdaterad procedur
-- 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]
Obs! Dessa ändringar måste korrigera texten i den sp_purge_orphaned_notable_query_text lagrade proceduren eftersom instruktionen Ta bort refererar till snapshots.notable_query_plan tabellen felaktigt när du har installerat SQL Server 2008 R2 Service Pack 1.
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Det fullständiga skriptet för att uppdatera den lagrade proceduren för data insamling kan även hittas i följande blogg: