Microsoft distribuisce le correzioni di Microsoft SQL Server 2008 R2 SP1 in un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 SP1 FIX.
Sintomi
Considerare lo scenario descritto di seguito:
-
Un database di Management Data Warehouse (MDW) include una tabella Snapshots.query_stats che contiene una grande quantità di dati in Microsoft sql Server 2008 o in Microsoft sql Server 2008 R2.
-
Viene eseguito il processo di raccolta dati seguente per cancellare i dati dal database MDW.
mdw_purge_data_ [<nome del database MDW>]
In questo scenario, il processo di raccolta dati richiede molto tempo per cancellare i dati. Note
-
Il processo di raccolta dati chiama la stored procedure Core.sp_purge_data per cancellare i dati.
-
Per altre informazioni su questo problema in SQL Server 2008 R2, visitare il sito Web Microsoft seguente:
Informazioni generali su questo problema in SQL Server 2008 R2
Causa
Questo problema si verifica perché il processo di mdw_purge_data richiede molto tempo per eseguire un'operazione di cancellazione basata su batch se la tabella Snapshots.query_stats contiene una grande quantità di dati.
Risoluzione
Informazioni sui Service Pack
SQL Server 2008Per risolvere il problema in SQL Server 2008, eseguire le operazioni seguenti:
-
Ottenere il Service Pack più recente per SQL Server 2008. per altre informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
968382 Come ottenere il Service Pack più recente per SQL Server 2008
-
Per un database MDW esistente, è necessario aggiornarlo eseguendo la procedura guidata Configura data warehouse di gestione dopo l'installazione del Service Pack più recente per SQL Server 2008.
SQL Server 2008 R2Per risolvere il problema in SQL Server 2008 R2, eseguire le operazioni seguenti:
-
Ottenere il Service Pack più recente per SQL Server 2008 R2. Per altre informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2527041 Come ottenere il Service Pack più recente per SQL Server 2008 R2
-
Per un database MDW esistente, è necessario aggiornarlo eseguendo la procedura guidata Configura data warehouse di gestione dopo l'installazione del Service Pack più recente per SQL Server 2008 R2
-
Aggiornare la stored procedure sp_purge_orphaned_notable_query_text come segue:procedura esistente
-- 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]
Procedura aggiornata
-- 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]
Nota Queste modifiche sono necessarie per correggere il testo della sp_purge_orphaned_notable_query_text stored procedure perché l'istruzione DELETE fa riferimento in modo errato alla tabella snapshots.notable_query_plan dopo l'applicazione di SQL Server 2008 R2 Service Pack 1.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Lo script completo per aggiornare la stored procedure di raccolta dati si trova anche nel Blog seguente: