Сжатие файла лога транзакций MS SQL

07.05.2019

Введение

Чаще всего к этому методу прибегают, когда MS SQL не настроено ограничение по размеру файла лога и отсутствуют планы обслуживания в результате чего на диске заканчивается место, а решить проблему необходимо срочно. Для этого нам нужно уменьшить распухший *.ldf файл. В этом нам поможет инструмент сжатие (shrink).

Пункт 1. Модель восстановления

Устанавливаем модель восстановления простая (simple). ПКМ на базе / свойства (properties) / параметры (options) / модель восстановления (Recovery model) / простая (simple) / OK.

Открываем свойства базы данных
Открываем свойства базы данных
Выбираем модель восстановления - простая
Выбираем модель восстановления - простая

Пункт 2. Сжатие лога транзакций

Сжимаем лог транзакций. ПКМ на базе / задачи (tasks) / сжать (shrink) / файлы (files) / установить тип файла (file type) / Журнал (log) / в операция сжатия (shrink action) / Реорганизовать страницы, перед тем осводить неиспользуемое место (reorganize pages before releseasing unused space) / сжать файл (shrink file to) / указать приемлемый размер лога.

Сжать файл лога транзакций.
Сжать файл лога транзакций.
Сжимаем до 0 Мб
Сжимаем до 0 Мб

Пункт 3. Меняем модель восстановление на изначальную

ПКМ на базе - свойства (properties) - параметры(options) / модель восстановления (recovery model) / полная (full) / OK

Выбираем модель восстановления - полная
Выбираем модель восстановления - полная

Пункт 4. Сжатие файла лога транзакций MS SQL через запрос Transact-SQL

Также мы можем сжать раздувшийся лог транзакция через SQL запрос (Transact-SQL)

Нажимаем кнопку Создать запрос, вставляем туда код запроса (только укажите имя свой базы данных) и выполняем запрос по нажатию на кнопку Выполнить.

USE ИМЯ_БАЗЫ
GO
ALTER DATABASE ИМЯ_БАЗЫ
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (2, 1);  
GO
ALTER DATABASE ИМЯ_БАЗЫ
SET RECOVERY FULL;
GO
Сжатие лога транзакции 1с в mssql через скрипт Transact-SQL
Сжатие лога транзакции 1с в mssql через скрипт Transact-SQL

Внимание: данный способ не решает проблему, а снимает симптом. Рекомендую настроить максимальный размер лога и план обслуживания бд.

Автору на кофе ☕ или просто поднять мотивацию писать больше статей для вас 😉 !
Отдельное спасибо всем, кто отправляет донатики 😀! Очень приятно и неожиданно. Благодаря вам сайт может и в дальнейшем обходиться без рекламных баннеров.
28422