Для автоматического выполнения Backup базы данных необходимо, чтобы служба SQL Server Agent запускалась автоматически с запуском MSSQL Server. Опцию автоматического запуска службы можно включить при помощи утилиты SQL Server Configuration Manager.
Для этого нужно выбрать SQL Server Agent, щелкнуть правой кнопкой мыши, открыть Свойства, в открывшемся окне выбрать вкладку Service, найти и задать Start Mode – Automatic.
Рекомендуется выполнять сохранение данных ежедневно (лучше ночью) в отдельный файл для каждого дня недели, а также несколько раз в течение рабочего дня в один файл с записью поверх.
Для настройки backup нужно запустить SQL Server Management Studio, в появившемся окне выбрать нужный сервер, тип авторизации, ввести пароль для доступа к серверу и нажать Connect.
Затем открыть пункт Databases, выбрать нужную базу, щелкнуть правой кнопкой и выбрать пункт Tasks->Back Up…, после чего откроется окно Back Up Database. Здесь в поле Database нужно выбрать базу данных, для которой настраивается backup, в поле Backup type – тип бэкапа Full (полный).
Далее в поле Name задается имя файла бэкапа (система автоматически предлагает свое имя) и Description – его описание.
Backup set will expire – задает, через сколько дней (After) или в какой день (On) бэкап может быть перезаписан.
В разделе Destination указывается путь, куда будет сохранен бэкап. Кнопка Add позволяет задать новый путь и имя файла бэкапа, Remove – удалить путь.
Затем слева нужно выбрать раздел Options.
В разделе Overwrite media нужно выбрать Append to the existing backup set (добавлять к предыдущему) либо Overwrite all existing backup sets (перезаписывать). В первом случае будут накапливаться бэкапы базы данных в одном файле, размер файла будет значительно расти. Во втором случае каждый новый бэкап будет удалять предыдущий.
Также в разделе Reliability (надежность) можно включить проверку бэкапа после создания.
Далее вверху окна выбрать Script -> Script Action to Job или нажать Ctrl+Shift+M:
В появившемся окне New Job на вкладке General задать название Job (Name), выбрать владельца (Owner), категорию (Category) и, если нужно, описание (Description). Поставить галочку Enabled. Пользователь, от чьего имени запускается SQL Server Agent, должен иметь права на запись в папку, где хранится файл бэкапа.
На вкладке Schedules (расписание) можно настроить расписание для выполнения сохранения данных.
Нажать кнопку New. Откроется окно New Job Schedule для настройки расписания. Здесь нужно ввести название расписания, выбрать тип Recurring, задать месяцы / дни / часы создания бэкапа. Например, бэкап выполняется раз в неделю, в воскресенье, один раз в день, в 0:00:00. Тогда настройки выглядят следующим образом:
В разделе Duration можно ввести дату окончания действия текущего расписания (End date) или оставить его бессрочным (No end date).
Нажать ОК 3 раза. Бэкап базы по расписанию создан. Данный Job можно видеть в окне SQL Server Management Studio, выбрав в левом меню SQL Server Agent->Jobs. Данные о его выполнении можно посмотреть в SQL Server Agent->Jobs Activity Monitor.
Аналогичным образом настраиваются backup’ы для остальных дней недели.
Важно: при создании бэкапов необходимо параллельно делать копию файлового каталога базы данных. При восстановлении БД копия каталога базы должна соответствовать по времени бэкапу, из которого восстанавливается база. Если файлы каталога базы восстанавливаются в старый каталог, из него необходимо предварительно удалить все файлы. Архивация каталога базы данных настраивается средствами MS Windows или любыми другими.