Для автоматизации снятия бэкапов баз данных предлагаю рассмотреть скрипт для создания заданий для агента от Ola Hallengren.
В первую очередь необходимо скачать задания в виде скрипта с сайта
https://ola.hallengren.com/
Выполнить скрипт на базе. После этого в списке заданий агента появятся задания:
Далее эти задания останется только настроить и мы начнем эту
настройку с задания, которое нацелено делать полный бэкап системных баз данных — «DatabaseBackup — SYSTEM_DATABASES — FULL». Щелкаем два раза по этому заданию в списке заданий, открывается следующе окно, там слева выбираем «Steps» и в списке шагов щелкаем два раза по единственному шагу:
Открывается окно, в котором можно задать опции, с которыми будет производится полный бэкап баз/базы данных.
Здесь я рекомендую изменить значение параметра @Directory на директорию (обязательно на отдельном диске), в ней будут размещены файлы бэкапа, которые будут получены в результате выполнения этого задания. Остальные значения можно оставить по умолчанию. Нажимаем кнопку «ОК».
Слева переходим на пункт «Shedules», внизу нажимаем кнопку New…»
Выходит окно:
Полный бэкап системных баз данных в моем случае настроен два раза в неделю, в среду и в воскресенье, в 23.20
Можно заполнить расписание по моему примеру и нажать «ОК».
Затем жмем ещё раз «ОК», всё задание настроено.
Далее желательно его проверить, всё ли правильно настроено и будет ли оно выполняться. Для этого нужно щелкнуть по заданию и выбрать «Start Job at Step…» появится форма на которой будет видно процесс выполнения задания:
Процесс выполнения должен завершиться без ошибок:
Следующее задание, которое нужно настроить это: «DatabaseBackup — USER_DATABASES — FULL». Настраиваем его по аналогии с первым, только Job Step на этот раз будет:
Здесь я изменил два параметра, дефолтные значения которых мне не подошли. Первый параметр это @Databases, он может принимать следующие параметры:
По умолчанию там было значение: USER_DATABASES. Которое дает команду делать полный бэкап всех пользовательских баз данных. Я изменил этот параметр на AKUZDB, так как мне нужно делать бэкап только этой базы данных. А также, как и в предыдущем задании, я изменил значение параметра @Directory на путь по которому будут размещаться файлы бэкапа созданные в результате задания. Далее жмем «ОК» и переходим к расписаниям (Shedules).
Нажимаем «New…» и создаем расписание для создания полного бэкапа базы данных AKUZDB:
В моем случае полный бэкап базы данных будет создаваться один раз в неделю, в субботу, в 1:23 ночи. Жмем «ОК», затем ещё раз «ОК». После настройки задания, его, также, как и задание для бэкапа системных баз данных, нужно проверить. Щелкнуть правой кнопкой по заданию «DatabaseBackup — USER_DATABASES — FULL» и выбрать «Start Job at Step…». Задание, также, как и предыдущее, должно завершиться успешно.
Следующее задание, которое нам надо настроить, это «DatabaseBackup — USER_DATABASES — DIFF».
Для примера, вот мой Job Step этого задания:
Это расписание:
Данное задание, создание разностного бэкапа БД, я настроил на ежедневное выполнение в 3 часа ночи.
После настройки этого задания, не забудьте, также, проверить его работоспособность, как и в случае с настройкой предыдущих заданий.
Последнее задание, которое нам надо настроить это: «DatabaseBackup — USER_DATABASES — LOG».
Job Step этого задания будет выглядеть так:
Расписание так:
В соответветствии с этим расписанием, бэкап лога транзакций будет делаться каждый час.
Не забудьте его, также, как и предыдущие задания после настройки проверить.
Настройка автоматического снятия бэкапов БД по расписанию завершена!