KB2674636-FIX: le dimensioni di un file di database non vengono ridotte quando si usa il comando DBCC SHRINKFILE in SQL Server 2008 R2 o in SQL Server 2012

Lavora ovunque da qualsiasi dispositivo con Microsoft 365

Eseguire l'aggiornamento a Microsoft 365 per lavorare in qualsiasi luogo con le funzionalità e gli aggiornamenti più recenti.

Aggiorna adesso

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 dispone di un database che usa una delle opzioni seguenti in Microsoft SQL Server 2012 o in Microsoft SQL Server 2008 R2:

    • Impostazione del livello di isolamento dello snapshot

    • Leggere l'isolamento dello snapshot Committed (Committed)

  • Si eliminano uno o più record versione inoltrati in una tabella nel database.

  • La tabella non ha un indice cluster.

  • Si usa il comando DBCC SHRINKFILE per ridurre le dimensioni del file di database.

In questo scenario, le dimensioni del file di database non vengono ridotte, ma la maggior parte del file di database è vuota.Nota Questo problema si verifica in genere quando si elimina un record con versione inoltrata in un heap.

Causa

Quando viene eliminato un record con versione inoltrata in una pagina, il tipo di record nella pagina viene modificato in GHOST_VERSION_RECORD. Tuttavia, la pagina di spazio libero della pagina corrispondente (PFS) non indica che la pagina contiene un record fantasma. In questo modo la pagina impedisce che il file di database venga ridotto in dimensioni.

Risoluzione

Informazioni sull'aggiornamento cumulativo

Aggiornamento cumulativo 2 per SQL Server 2012 SP1

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 2. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2012 SP1, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

2790947 Pacchetto di aggiornamento cumulativo 2 per SQL Server 2012 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 2012 SP1 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:

2772858 Build di SQL Server 2012 rilasciate dopo il rilascio di SQL Server 2012 Service Pack 1

Aggiornamento cumulativo 5 per SQL Server 2012

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 5. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2012, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:

2777772 Pacchetto di aggiornamento cumulativo 5 per SQL Server 2012 Nota 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. 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:

2692828 Build di SQL Server 2012 rilasciate dopo il rilascio di SQL Server 2012

SQL Server 2008 R2 Service Pack 2

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 1 per SQL Server 2008 R2 Service Pack 2. 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:

2720425 Pacchetto di aggiornamento cumulativo 1 per SQL Server 2008 R2 Service Pack 2Nota 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:

2730301 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 2

SQL Server 2008 R2 Service Pack 1

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 7 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:

2703282 Pacchetto di aggiornamento cumulativo 7 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

SQL Server 2008 R2

La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 13. 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:

2679366 Pacchetto di aggiornamento cumulativo 13 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

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×