Пример скрипта создания резервных копий баз данных

Запуск скрипта с необходимой периодичностью осуществляется на сервере баз данных с помощью "Назначенных заданий" Windows. Учетная запись, под которой запускается скрипт, должна обладать всеми необходимыми разрешениями для выполнения операции резервного копирования на сервере SQL, а также для записи файлов в указанные папки.

Для работы скрипта необходимы:

  • архиватор, в примере используется "WinRar";
  • утилита для удаления файлов, в примере используется "Forfiles.exe" из Windows Resource Kit;
  • файл "Bases.txt" со списком имен баз данных. Имя каждой базы записывается с новой строки.

Скрипт запускается непосредственно на SQL Server'e, имя инстанции SQL Server указывается в переменной %SQLSERVER%. Код SQL запускается с помощью утилиты "SQL Query Tool", путь к утилите указывается в переменной %ISQL%, например "C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE".

Скрипт работает по следующей схеме:

  1. Создается резервная копия, имя файла при этом формируется следующим образом: "Имя_базы_ДД_ММ_ГГГГ.db". База сохраняется локально, путь к базе данных указывается в переменной %BACKUP%. Создаются лог-файлы резервного копирования для каждой базы в виде "log_autobackupsql_<Имя_базы>.txt" и общий лог-файл "backup_log.txt", путь к папке для хранения лог-файлов указывается в переменной %LOG%.
  2. Созданный файл запаковывается архиватором. Расположение архиватора указывается переменной %RAR%.
  3. Созданный архив копируется на два указанных сетевых источника хранения архивов: переменные %PATH01% и %PATH02%. Если путь не указан, копирование архива не производится.
  4. Архивы, созданные ранее определенного количества дней, удаляются. Утилита для удаления указывается в переменной %FORFILES%. Количество дней указывается в переменной %DAYS%.

Пример скрипта доступен для скачивания: backup_script.zip (2 Кб). Перед запуском скрипта необходимо задать в нём свои данные (имя инстанции SQL Server, пути к папкам для резервного копирования и др.) в соответствии с приведенным выше описанием.

« ПредыдущаяНа уровень вышеСледующая »
 
Driven by DokuWiki