Инструкция
1
Для автоматического сжатия в среде присутствует БД AUTO_SHRINK, параметр которой достаточно установить в значение ON. При наличии данной базы данных в системе компонент управления Database Engine автоматически сожмет все SQL, в которых есть свободное место. Параметры настраиваются при помощи инструкции ALTER DATABASE, которая изначально имеет значение OFF. Все операции по автоматическому сжатию проходят в фоновом режиме и не влияют на действия пользователя в БД.
2
БД SQL Server сжимаются вручную через инструкцию DBCC SHRINKDATABASE (DBCC SHRINKFILE). Если выбранная инструкция не может зарезервировать место в файле журнала, то выдается информационное сообщение, в котором указывается действие, необходимое для освобождения дискового пространства.
3
При помощи DBCC SHRINKDATABASE вы не можете сжимать БД до размеров, которые меньше исходных. Если база была создана с размером 10Мб, а затем она расширилась до 50Мб, сжать ее можно будет лишь до 10Мб, даже если все данные будут удалены.
4
При помощи DBCC SHRINKFILE можно сжимать отдельные файлы до размеров, которые явно меньше начальных. Но при этом каждый файл БД придется сжимать по отдельности.
5
Во время использования данных инструкций автоматически сжимаются журналы транзакций до запрошенного размера. Наибольший эффект от сжатия достигается лишь в том случае, если она выполняется после операции, которая создает много лишнего места (например, удаление таблицы).