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 SHRINKDATAFILE, or SSMS. The following sections describe these three methods.