Як стиснути sql базу.

В середовищі SQL Server кожен файл БД можна стиснути через видалення невикористовуваних сторінок. Хоча пакет Database Engine і оптимізує розподіл дискового простору, іноді виникають ситуації, коли файлам вже не потрібен такий обсяг, який виділявся ним раніше. Програмою передбачено стиск файлів бази як вручну, так і автоматично через певний час.
Інструкція
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
Під час використання даних інструкцій автоматично стискаються журнали транзакцій до запитаного розміру. Найбільший ефект від стиснення досягається лише в тому випадку, якщо вона виконується після операції, яка створює багато зайвого місця (наприклад, видалення таблиці).
Зверніть увагу
Не слід включати AUTO_SHRINK без причини, оскільки це значно сповільнить роботу системи, а в більшості випадків це просто марно.
Корисна порада
DBCC SHRINKDATABASE і SHRINKFILE можна зупинити на будь-якому етапі, але вся виконана робота зберігається.