Microsoft distribuisce Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2012 correzioni come un 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 o SQL Server 2012 FIX.
Sintomi
Considerare lo scenario descritto di seguito:
-
Si ospita un database di grandi dimensioni con heap in Microsoft SQL Server 2008 R2 o in Microsoft SQL Server 2012.
-
Si Abilita l'isolamento delle istantanee Read Committed (Committed) per il database.
In questo scenario, è possibile che si verifichino picchi di CPU Bassi a un intervallo impostato (ogni cinque secondi), anche quando non sono presenti attività dell'utente.Nota Questo problema si verifica anche in Microsoft SQL Server 2005.
Causa
Questo problema si verifica perché le pagine dell'heap non vengono sincronizzate con le pagine di spazio libero della pagina (PFS). Quando Committed è abilitato, potrebbero esserci alcuni record fantasma nelle pagine dell'heap. Quando questi record fantasma vengono rimossi dalle pagine dell'heap, il bit di Ghost non viene rimosso dalle pagine PFS. Questo comportamento causa un'attività che cancella i record fantasma dalle pagine PFS da eseguire più volte. Questa attività analizzerà le pagine PFS ogni 5 secondi, attivando il problema descritto nella sezione "Sintomi".
Risoluzione
Informazioni sull'aggiornamento cumulativo
SQL Server 2012
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 1 per SQL Server 2012. Per altre informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2679368 Pacchetto di aggiornamento cumulativo 1 per SQL Server 2012Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2012 FIX. Microsoft consiglia di applicare l'ultima versione di correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2692828 Build di SQL Server 2012 rilasciate dopo il rilascio di SQL Server 2012 È necessario applicare un hotfix di SQL Server 2012 a un'installazione di SQL Server 2012.
SQL Server 2008 R2 Service Pack 1
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 5 per SQL Server 2008 R2 Service Pack 1. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2659694 Pacchetto di aggiornamento cumulativo 5 per SQL Server 2008 R2 Service Pack 1Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2567616 Le build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 1
Pacchetto di aggiornamento cumulativo 11 per SQL Server 2008 R2
La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 11. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2633145 Pacchetto di aggiornamento cumulativo 11 per SQL Server 2008 R2Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
981356 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2
Soluzione alternativa
Per risolvere il problema, aggiungere un indice cluster nelle tabelle che non dispongono di un indice cluster.
Ulteriori informazioni
Per verificare che si verifichi lo stesso problema descritto nella sezione "Sintomi", abilitare il contrassegno di traccia 661 per disabilitare la pulizia dei record fantasma. Se il picco di CPU ridotto scompare, si verifica lo stesso problema.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".