Для автоматизации снятия бэкапов баз данных предлагаю рассмотреть скрипт для создания заданий для агента от 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 этого задания будет выглядеть так:

Расписание так:

В соответветствии с этим расписанием, бэкап лога транзакций будет делаться каждый час.
Не забудьте его, также, как и предыдущие задания после настройки проверить.

Настройка автоматического снятия бэкапов БД по расписанию завершена!