Shrinking Databases

Shrinking database files is a bit more involved than expanding them. Generally, you do database shrink operations manually, using DBCC commands. SQL Server does have the AUTOSHRINK database option, but it is usually reserved for development databases and should not be used in production. The reason it is not recommended for production is that the AUTOSHRINK operation can run at peak usage time and affect performance. AUTOSHRINK is executed when more than 25% of a file contains unused space. This event can occur, for example, after a large deletion.

If you want to shrink a database manually, you can do so by using DBCC SHRINKDATABASE, DBCC SHRINKDATAFILE, or SSMS. The following sections describe these three methods.

Note

Get Microsoft® SQL Server 2012 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.