Odin | База знаний 1С

Как автоматизироват...
 

Как автоматизировать процесс shrink логов на MS SQL сервере?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

как сделать shrink логов на сервер MS SQL автоматически?



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для автоматического сжатия (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` на имя вашей базы данных:

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/



   
ОтветитьЦитата