Зменшити ldf (log) і mdf файлів в sql server блог програміста - asp mvc c #

При роботі з БД, особливо на етапі розробки, дуже сильно розростаються ldf і mdf файли бази даних.

Для їх зменшення потрібно скористатися командою DBCC SHRINKFILE.

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

Обезательно аргументи команди: file_name - логічне ім'я файлу, призначеного для стиснення; target_size - розмір файлу (в мегабайтах), який виражається цілим числом, якщо він не вказаний, то інструкція DBCC SHRINKFILE зменшує файл до розміру файлу за замовчуванням. Розмір за замовчуванням є розмір, зазначений в момент створення файлу.

DBCC SHRINKFILE (dbMyDataBase_log, 1).

Що б дізнатися логічне ім'я файлу (вони не завжди збігаються з фізичним назвою файлу), можна скористатися командою:

select * from sysfiles

при цьому повинна бути відкрита ваша БД (dbMyDataBase)

Можна все те ж саме зробити через гуї. Це якщо хто не вміє будувати запити :). правою кнопкою на базі, завдання, шрінк, файли, вибираємо лог (там відразу видно на скільки відсотків можна зменшити). Іноді, якщо лог великий - наприклад гигов 50, то зменшувати (шрінкать) його треба 2 рази - з першого разу уменьшаеться, але не повністю. ось так :). WishMaker.

Буває перед тим як чистити потрібно зробити BACKUP, без нього не зменшуємо. BACKUP LOG dbMyDatabase TO DISK = 'E: \ BD \ Backups \ dbMy.bak' DBCC SHRINKDATABASE (N'dbMy ') --to shrink the database GO DBCC SHRINKFILE (dbMy. 0, TRUNCATEONLY) - to shrink data file GO DBCC SHRINKFILE (dbMy_log. 0, TRUNCATEONLY) - to shrink ldf