In un ambiente SQL Server, ogni file di database può essere compresso eliminando le pagine inutilizzate. Sebbene Motore di database ottimizzi l'allocazione del disco, in alcuni casi i file non necessitano più della quantità allocata in precedenza. Il programma prevede la compressione dei file di database sia manualmente che automaticamente dopo un certo tempo.

Istruzioni
Passo 1
Per la compressione automatica, l'ambiente dispone di un database AUTO_SHRINK, il cui parametro è sufficiente impostare su ON. Con questo database nel sistema, il Motore di database ridurrà automaticamente qualsiasi SQL che ha spazio libero. I parametri vengono configurati utilizzando l'istruzione ALTER DATABASE, che inizialmente è impostata su OFF. Tutte le operazioni di compressione automatica avvengono in background e non influiscono sulle azioni dell'utente nel database.
Passo 2
I database di SQL Server vengono compressi manualmente utilizzando l'istruzione DBCC SHRINKDATABASE (DBCC SHRINKFILE). Se l'istruzione selezionata non può riservare spazio nel file di registro, viene visualizzato un messaggio informativo che indica l'azione richiesta per liberare spazio su disco.
Passaggio 3
Con DBCC SHRINKDATABASE, non è possibile ridurre il database a una dimensione inferiore a quella originale. Se il database è stato creato con una dimensione di 10 MB, e poi è stato espanso a 50 MB, sarà possibile comprimerlo solo a 10 MB, anche se tutti i dati vengono eliminati.
Passaggio 4
Con DBCC SHRINKFILE, puoi comprimere singoli file in una dimensione chiaramente inferiore alla dimensione iniziale. Tuttavia, ogni file di database dovrà essere compresso separatamente.
Passaggio 5
Quando vengono utilizzate queste istruzioni, i registri delle transazioni vengono automaticamente ridotti alla dimensione richiesta. Il massimo effetto di compressione si ottiene solo se viene eseguito dopo un'operazione che crea molto spazio extra (ad esempio, l'eliminazione di una tabella).