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