Shrink a database

Стиснення файлів даних дозволяє звільнити простір, який шляхом переміщення сторінок даних з кінця файлу в незайняте простір ближче до початку файлу. Коли в кінці файлу утворюється досить вільного місця, сторінки даних в кінці файлу можуть бути звільнені і повернені в файлову систему.

обмеження

Розмір бази даних не можна зробити менше мінімального розміру бази даних. Мінімальний розмір - це початковий розмір, заданий при створенні бази даних, або останній розмір, явно встановлений операцією зміни розміру файлу (наприклад, DBCC SHRINKFILE). Якщо, припустимо, база даних була створена з розміром 10 МБ і потім збільшилася до 100 МБ, її можна стиснути тільки до 10 МБ, навіть якщо видалити з неї всі дані.

Неможливо стиснути базу даних під час створення її резервної копії. І навпаки, не можна створити резервну копію бази даних під час операції стиснення.

Інструкція DBCC SHRINKDATABASE завершиться з помилкою при виявленні оптимізованого для пам'яті xVelocity індексу columnstore. Робота, виконана до зустрічі з індексом columnstore, буде виконана успішно, тому база даних може мати менший розмір. Щоб виконати інструкцію DBCC SHRINKDATABASE, вимкніть усі індекси columnstore до її запуску, а потім перебудуйте індекси columnstore.

рекомендації

Зверніть увагу на такі відомості при плануванні стиснення бази даних.

Найбільший ефект від операції стиснення досягається при її застосуванні після операції, що створює багато невикористаного простору, наприклад після усічення таблиці або видалення таблиці.

Більшості баз даних потрібен якийсь вільний простір для виконання звичайних щоденних операцій. Якщо стиснення бази даних проводиться регулярно, але вона знову збільшується в розмірах, це означає, що місце, звільнене при стисненні, необхідно для нормальної роботи. У таких випадках повторне стиснення бази даних безглуздо.

Операція стиснення не рятує від фрагментації індексів в базі даних і зазвичай призводить до ще більш сильної фрагментації. Це ще одна причина, по якій не варто виконувати регулярне стиснення бази даних.

Не слід встановлювати параметр бази даних AUTO_SHRINK в значення ON без достатніх на те підстав.

Безпека

Дозволи

Необхідно бути членом визначеної ролі сервера sysadmin або визначеною ролі бази даних db_owner.

Стиснення бази даних

У браузері об'єктів підключіться до примірника компонента Компонент SQL Server Database Engineі розгорніть його.

Розгорніть вузол Бази даних і клацніть правою кнопкою миші базу даних, яку потрібно стиснути.

В меню наведіть курсор на пункт Завдання. Стиснути і виберіть команду База даних.

База даних
Відображає ім'я обраної бази даних.

Виділене в даний момент місце
Відображає сумарне використовується і незайнятого простору для обраної бази даних.

Доступне вільне місце
Відображає сумарне вільне місце для файлів журналів та даних в обраній базі даних.

Реорганізувати файли перед звільненням невикористаного місця
Установка даного прапорця еквівалентна виконанню інструкції DBCC SHRINKDATABASE із завданням цільового процентного параметра. Зняття цього прапорця рівнозначно виконання процедури DBCC SHRINKDATABASE з параметром TRUNCATEONLY. За замовчуванням при відкритті діалогового вікна цей прапорець не встановлено. Якщо цей прапорець встановлений, то користувач повинен задати цільове процентне значення.

Максимальна вільний простір в файлах після стиснення
Введіть максимальний відсоток вільного простору, яке повинно залишитися в базі даних після її стиснення. Допустимі значення від 0 до 99.

Схожі статті