Главная » Статьи » ПК и все что связанно |
1. Создание bat-файла для копирования на FTP-серверСогласно стратегии резервного копирования, приведенной в статье «Копирование и восстановление баз данных в Microsoft SQL Server 2008 R2», нам необходимо сохранять ежедневные полные бэкапы производственных баз данных на FTP-сервере и хранить их там 1 месяц с момента создания. О создании «батника» для копирования произвольного файла на FTP-сервер, я уже писал в статье «Скачивание, загрузка и удаление файлов с FTP-сервера из командной строки». Но дело в том, что имя файла, полученного в результате резервного копирования в SQL Server Management Studio, имеет примерно следующий вид:
состоящий из имени базы, слова backup, даты и времени создания копии. Поэтому имя файла необходимо «вычислять» каждый раз от даты копирования. В данном случае — от текущей даты. Для построении имени файла резервной копии будем использовать следующий код bat-файла:
Здесь переменная %date% возвращает строковое представление даты, из которого мы извлекаем все необходимые параметры и собираем из них имя файла. Следует помнить, что формат возвращаемой строки зависит от региональных настроек системы. Поэтому чтобы вышеприведенный код работал, необходимо убедиться, что переменная %date% возвращает строку вида: «09.07.2013» . Проверить это можно выполнив:
Таким образом, полный текст файла copy_on_ftp.bat, для копирования резервной копии базы SQL-сервера на FTP, будет следующим:
Необходимо только указать параметры подключения к FTP-серверу. Имя базы данных, каталог с копией на локальном компьютере и каталог на сервере здесь задаются в качестве параметров. Соответственно, чтобы скопировать копию базы BASE1 из «C:\Backup\BASE1» на FTP-сервер в «Backup/SQL/BASE1» за сегодняшнее число, необходимо выполнить: Аналогичным образом строятся файлы для удаления старых копий с FTP-сервера. Согласно выбранной стратегии резервного копирования, нам необходимы «батники» для удаления копий месячной del_on_ftp_last_month.bat и годичной del_on_ftp_last_year.bat давности. 2. Создание задания Агента SQL Server для запуска bat-файловТеперь перейдем к SQL-серверу. В моем примере это Microsoft SQL Server 2008 R2. Но для других версий SQL Server, действия будут аналогичными. Создадим задание для запуска bat-файлов, которые будут копировать базу данных master и удалять соответствующую копию прошлого года. Для этого запустим SQL Sever Management Studio ( «Пуск» — «Все программы» — «Microsoft SQL Server 2008 R2» — «Средства SQL Server 2008 R2» ) и введем данные для авторизации. Затем в обозревателе объектов раскроем вкладку «Агент SQL Server», кликнем правой кнопкой мыши по вкладке «Задания» и в контекстном меню выберем «Создать задание» . Откроется окно нового задания, введем Имя и Описание и перейдем на вкладку «Шаги» . Здесь нажмем кнопку «Создать» , чтобы добавить шаг в задание. Напишем Имя шага, тип выберем «Операционная система (CmdExec)» и пропишем команду для копирования базы на FTP-сервер. Затем перейдем на вкладку «Дополнительно» и укажем:
После чего жмем «ОК» . Аналогичным образом создадим еще один шаг, с командой удаления прошлогодней копии базы данных. С той лишь разницей, что при успехе необходимо «Завершить задание с успехом» . Таким образом получилось задание, состоящее из двух последовательных шагов. Сохраним задание нажав «ОК» . 3. Добавление заданий в существующий план обслуживания SQL ServerНу и наконец осталось добавить созданное задание в план обслуживания, который делает резервную копию базы данных master. Для этого на вкладке «Планы обслуживания» выделим необходимый план обслуживания, в «Панели элементов» найдем пункт «Задача «Выполнение задания агента SQL Server»» и перетащим его в окно графического представления плана. В появившемся списке всех существующих задач, выберем необходимую нам задачу и нажмем «ОК» . После чего останется только выставить последовательность действий таким образом, чтобы задание выполнялось сразу после успешного завершения задачи «Резервное копирование базы данных» . Источник: http://tavalik.ru/sohranenie-rezervnyx-kopij-baz-dannyx-sql-na-ftp-server/ | |
Просмотров: 1739 | | |
Всего комментариев: 0 | |