Для автоматического сжатия (shrink) логов транзакций на сервере MS SQL можно использовать SQL Server Agent для создания задания, которое будет выполняться по расписанию. Вот пошаговая инструкция:
1. **Создание SQL-задания**:
– Откройте SQL Server Management Studio (SSMS).
– Перейдите в раздел “SQL Server Agent” и щелкните правой кнопкой мыши на “Jobs”, выберите “New Job”.
2. **Настройка задания**:
– Введите имя задания на вкладке “General”.
– Перейдите на вкладку “Steps” и нажмите “New” для создания нового шага.
– Введите имя шага и выберите тип “Transact-SQL script (T-SQL)”.
– В поле “Command” введите следующий скрипт, заменив YourDatabaseName на имя вашей базы данных:
1С (Код)
1
2
3
4
5
sql
USE[YourDatabaseName];
ALTERDATABASE[YourDatabaseName]SETRECOVERYSIMPLE;
DBCCSHRINKFILE(N'YourDatabaseName_log',1);
ALTERDATABASE[YourDatabaseName]SETRECOVERYFULL;
3. **Настройка расписания**:
– Перейдите на вкладку “Schedules” и нажмите “New”.
– Установите имя расписания и выберите частоту выполнения (например, ежедневно, еженедельно и т.д.).
4. **Сохранение задания**:
– Нажмите “OK” для сохранения задания.
5. **Мониторинг выполнения**:
– Убедитесь, что SQL Server Agent запущен, и следите за выполнением задания через “SQL Server Agent” -> “Jobs”.
Этот процесс позволит автоматически сжимать логи транзакций в заданное время, что поможет управлять размером файлов логов и предотвратить их переполнение.