На заметку

Командный файл SPBAK.cmd

 

Пакет установки АИС «РЕГОСС» выполняет функции автоматического создания заданий ежедневного, еженедельного и ежемесячного копирования базы данных с использованием средства SQL server Agent.

В MS SQL server 2005 Express такое средство отсутствует, но можно настроить регулярное копирование с использованием утилиты командной строки sqlcmd.exe и системного планировщика заданий (смотри Назначенные задания в Панели управления).

Состав задания на копирование

Задание на копирование содержит два файла: sp_bdaily.sql и SPBAK.cmd.

Файл sp_bdaily.sql содержит операторы T_SQL, т.е. команды MS SQL Server на выполнение копирования (backup) базы данных, и сохранения ее в файле StateProperty_2.BAK по четным числам или в файле StateProperty_1.BAK по нечетным числам.

Файл SPBAK.cmd — командный файл, предназначенный для запуска утилиты sqlcmd.exe, в который выполняет команды записанные в файле sp_bdaily.sql.

Файл SPBAK.cmd может быть выполнен с одним параметром, указывающим на папку, в которую должна быть помещена копия с файлом backup’а базы данных РЕГОСС.

Например, если выполнить команду SPBAK.cmd C:\Temp\, то будет создан backup базы данных в папке по адресу ’C:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\BACKUP и файлы с backup’ами будут скопированы в папку C:\Temp\.

Оба файла хранятся в одной папке (\BackUp for SQL server 2005 Express) того же самого компьютера, где установлен MS SQL server 2005 Express.

После выполнения команды SPBAK.cmd в папке C:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\BACKUP должен появиться один файл с именем StateProperty_2.BAK или StateProperty_1.BAK.

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

Для проверки работы «задания на копирование» запустите его, щелкнув левой кнопкой мышки над файлом SPBAK.cmd. На время выполнения задания (1-2 минуты) появится черное окно «Командная строка». Если задание выполнится правильно, то в папке C:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\BACKUP должен появиться файл с одним из следующих названий: StateProperty_2.BAK , StateProperty_1.BAK.

Пример sp_bdaily.sql

USE MASTER
DECLARE @DAY TINYINT
SELECT @DAY=DAY(GETDATE())
IF @DAY%2=1
BACKUP DATABASE StateProperty TO DISK = ’C:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\BACKUP\StateProperty_1.BAK’ WITH INIT
ELSE
BACKUP DATABASE StateProperty TO DISK = ’C:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\BACKUP\StateProperty_2.BAK’ WITH INIT

Пример SPBAK.cmd

Файл SPBAK.cmd — командный файл запуска утилиты sqlcmd.exe.

@echo off

sqlcmd -U[login] -P[password] -isp_bdaily.sql -osp_bdaily.txt
IF EXIST %1 (copy C:\»Program Files»\»Microsoft SQL Server»\MSSQL\BACKUP\StateProperty_2.BAK %1) ELSE (goto end)
IF EXIST %1 (copy C:\»Program Files»\»Microsoft SQL Server»\MSSQL\BACKUP\StateProperty_1.BAK %1) ELSE (goto end)

:end

 

Пример создания назначенного задания в среде Windows XP

Необходимость использования механизма «Назначеные задания обесловлено тем, что в АИС «РЕГОСС» функции автоматического создания заданий ежедневного, еженедельного и ежемесячного копирования базы данных выполняются при помощи SQL server Agent.
В MS SQL server 2005 Express это средство отсутствует, но можно настроить регулярное копирование с использованием утилиты командной строки sqlcmd.exe и системного планировщика заданий.
О правилах подготовки командного файла смотри здесь.

Шаг 1. Найдите раздел назначенные задания.

Рис. 1. Назначенные задания в панели управления.
Рис. 1. Назначенные задания в панели управления.»

Откройте Панель управления, на компьютере, где установлена СУБД MS SQL Server 2005.

Найдите раздел назначенные задания.

Шаг 2. Запустите мастер планирования заданий

Рис. 2. Запуск мастера планирования заданий.
Рис. 2. Запуск мастера планирования заданий.

Откройте раздел «Назначенные задания» в Панели управления. И щелкните левой кнопкой мыши на пункте «Добавить задание».
На экране появится первая страница мастера планирования заданий. Нажмите кнопку «Далее».

Шаг 3. Укажите команду копирования базы данных.

Рис. 3. Выбор командного файла создания резервной копии.
Рис. 3. Выбор командного файла создания резервной копии.

Нажмите кнопку «Обзор», в стандартном диалоговом окне найдите папку \BackUp for SQL server 2005 Express, откройте ее, выделите файл SPBAK.cmd. И нажмите кнопку «Открыть».Нажмите кнопку «Далее».

Шаг 4. Укажите имя назначенного задания.

Рис. 4. Выбор периодичности создания резервной копии.
Рис. 4. Выбор периодичности создания резервной копии.

В поле для ввода имени назначенного задания наберите «Копирование БД РЕГОСС», а среди вариантов периодичности выполнения задания выберите режим «ежедневно», нажмите кнопку «Далее».

Шаг 5. Укажите время выполнения назначенного задания.

5. Время начала создания резервной копии.
Рис. 5. Время начала создания резервной копии.

В поле для времени выполнения назначенного задания наберите «13:00», нажмите кнопку «Далее».

ЗАМЕЧАНИЕ. Обычно время выполнения задания устанавливается так, чтобы оно попадало в обеденный перерыв или по окончании рабочего времени.

Шаг 6. Укажите пользователя, от имени которого выполняется задание.

>Рис. 6. Авторизация автора задания.
Рис. 6. Авторизация автора задания.

В поле имя пользователя введите имя пользователя Windows, от имени которого выполняется задание, затем введите его пароль, и, наконец, повторите ввод пароля, нажмите кнопку «Далее».

ЗАМЕЧАНИЕ. В качестве пользователя лучше всего выбрать пользователя с правами администратора на этом компьютере.

Шаг 7. Завершите работу мастера.

Рис. 7. Завершение мастера планирования заданий.
Рис. 7. Завершение мастера планирования заданий.

Нажмите кнопку «Готово».

Шаг 8. Проверьте правильность создания задания.

Рис. 8. Новое заlание в списке.
Рис. 8. Новое заlание в списке.

После завершения работы мастера в разделе «Назначенные задания» появится вновь созданное задание «Копирование БД РЕГОСС». Выделите это задание, щелкните правой кнопкой мышки и во всплывшем меню выберите позицию «Выполнить». На время выполнения задания (1-2 минуты) появится черное окно «Командная строка».

По окончании выполнения в графе «время прошлого запуска» появится время запуска задании, а в папке C:\Program Files\Microsoft SQL Server\MSSQ.1\MSSQL\BACKUP появится один файл с названием StateProperty_2.BAK или StateProperty_1.BAK, в зависимости от того четности или нечетности даты запуска задания.