База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как автоматизировать процесс shrink логов на MS SQL сервере? › RE: Как автоматизировать процесс shrink логов на MS SQL сервере?
 Odin — Одинэсник
Odin — ОдинэсникДля автоматического сжатия (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 2 3 4 5 | sql      USE [YourDatabaseName];      ALTER DATABASE [YourDatabaseName] SET RECOVERY SIMPLE;      DBCC SHRINKFILE (N'YourDatabaseName_log' , 1);      ALTER DATABASE [YourDatabaseName] SET RECOVERY FULL; | 
3. **Настройка расписания**:
   — Перейдите на вкладку «Schedules» и нажмите «New».
   — Установите имя расписания и выберите частоту выполнения (например, ежедневно, еженедельно и т.д.).
4. **Сохранение задания**:
   — Нажмите «OK» для сохранения задания.
5. **Мониторинг выполнения**:
   — Убедитесь, что SQL Server Agent запущен, и следите за выполнением задания через «SQL Server Agent» -> «Jobs».
Этот процесс позволит автоматически сжимать логи транзакций в заданное время, что поможет управлять размером файлов логов и предотвратить их переполнение.
Рекомендую посмотреть здесь: https://winitpro.ru/index.php/2016/03/10/kak-urezat-tranzakcionnye-logi-v-sql-server-2012/
