Тема, достойная отдельной статьи. Пока статья не готова, но расскажу уже сейчас, как можно с помощью скрипта на T-SQL создавать резервные копии базы данных. Выполнение скрипта можно и нужно назначить в планировщике заданий Windows.
Кратко о скрипте - при запуске создается резервная копия MSSQL базы данных, она сжимается архиватором и сохраняется для хранения в архиве. Полученный архив можно скопировать еще в 2 места (на локальный или сетевой компьютер). Есть возможность по истечении определенного периода удалять старые архивы, чтобы они не заполнили со временем свободное пространство на жестком диске.
Распакуйте архив
mssql.zip в корневую папку диска D: Должен получиться каталог D:\MSSQL
Содержимое указанного каталога
1. D:\MSSQL\Backup - каталог сохранения резервных копий базы данных после каждой процедуры резервирования
2. D:\MSSQL\instr - данная инструкция
3. D:\MSSQL\Temp - каталог для временных файлов
4. D:\MSSQL\backup.bat - исполняемый пакетный файл. Вызывает backup.cmd с параметром. В качестве параметра указывается имя базы данных. Например, "backup.bat ukr"
5. D:\MSSQL\backup.cmd - командный файл, выполняющий резервирование базы данных, имя которой указано в качестве параметра при вызове. Настройка расписана ниже.
6. D:\MSSQL\forfiles.exe - утилита, удаляющая файлы, старше определенного количества дней. Вызывается из командного файла.
7. D:\MSSQL\rar.exe - архиватор. Упаковывает резервные копии базы данных в архив для уменьшения занимаемого места на диске. Вызывается из командного файла.
Командный файл позволяет создать резервную копию базы данных, упаковать ее в архив, дополнительно сохранить архив на локальном жестком диске либо сетевом ЖД (до 2 каталогов, без учета основного).
Исполнение командного файла можно назначить в планировщике заданий.
Для адаптации скрипта к выполнению задач на сервере с базой данных необходимо отредактировать командный файл:
- Откройте D:\MSSQL\backup.cmd в блокноте.
- Отредактируйте строки, выделенные желтым цветом. Укажите имя базы данных, каталоги сохранения резервных копий и т.д.
В частности, Вам будет необходимо будет определить путь к коммандной строке osql.exe, используя короткие имена.
Сначала необходимо определить положение osql.exe - как правило, он находится в каталоге C:\Program Files\Microsoft SQL Server\90\Tools\Binn\ - убедитесь, что osql.exe присутствует в таком каталоге
Чтобы записать этот путь, используя короткие имена для каталогов "Program Files" и "Microsoft SQL Server", сделайте:
1. Запустите cmd.exe (Пуск - выполнить)
2. Выполните команду "
C:", затем "
cd \", затем "
dir /X" (все команды вводите без кавычек, после каждой команды нажимайте кнопку ввода). В полученном списке в правом столбце найдите путь с длинным именем "Program Files" и запишите его короткое имя "PROGRA~1". У вас может быть другим. (желтый цвет)
3. Выполните команду "
cd PROGRA~1"
4. Выполните команду "
dir /X". В полученном списке в правом столбце найдите путь с длинным именем "Microsoft SQL Server" и запишите его короткое имя "MICROS~2". У вас может быть другим.
Таким образом, путь к osql.exe будет выглядеть следующим образом:
C:\PROGRA~1\MICROS~2\90\Tools\Binn\osql.exe Чтобы убедиться, что все было сделано верно, скопируйте полученный путь к osql.exe (без самого "osql.exe", только каталог. Пример: C:\PROGRA~1\MICROS~2\90\Tools\Binn\) и вставьте его в адресную строку проводника Windows - в открывшемся каталоге вы должны увидеть перечень файлов и в нем файл
osql.exe. Продолжите редактирование командного файла. Сохраните изменения. Если вы используете Express редакцию сервера, не забудьте в имени сервера указать "\SQLExpress"
Откройте в блокноте файл backup.bat и отредактируйте в соответствии с рисунком ниже:
Проверьте работоспособность скрипта. Запустите backup.bat на выполнение. Следите за сообщениями в окне. После успешной отработки скрипта в каталоге с архивами БД, а также в каталогах с копиями должен появиться архив базы данных
Отредактировано пользователем 8 февраля 2017 г. 12:03:58(UTC)
| Причина: Не указана