Архивация баз данных под управление SQL Server



В данной статье хочу рассказать, как автоматизировать процесс архивирования баз данных в связке 1С Предприятие 8.1 + SQL Server 2005.

Как вы знаете, есть два способа через конфигуратор платформы 1С и средствами SQL Server 2005. Рассмотрим первый самый простой способ через конфигуратор рисунок 1.

Из рисунка 1 мы видим, стандартный способ архивирования информационной базы 1С. (далее информационную базу будем называть сокращенно ИБ.) Этот пример архивирования использовался с платформой 7.7 и плавно перешел 8.1, когда ИБ держали в формате *.CDX и *.DBF. Многим кому не по вкусу было архивировать ИБ через конфигуратор, использовали обычный архиватор WinRaR рисунок 2.

На рисунке 2, представлен еще один способ сохранения ИБ. Все это примитивно, т.к. администратору надо, к примеру, в обед пока некого нет в программе, заниматься архивированием ИБ или когда все с работы уйдут. А это не очень удобно. Рассмотрим способ №2. Мы перевели базу на SQL Server 2005, у нас отдельный сервер обслуживает базу, там нужно настроить автоматическое архивирование ИБ. А также на всякий случай сделать копию файла 1Cv8.1CD

И так преступим, к способу №2. Запускаем SQL Server «Пуск – программы – SQL Server - Среда SQL Server Management Studio Express», смотрим в дереве сервера SQL Server Agent. Открываем и переходим к Jobs. Создаем новое задание для автоматического архивирования базы данных рисунок 3.

На рисунке 3, вы видите новое задание. На закладке General заполняем общие данные, название, сервер СУБД, категорию, описание задания. Переходим на закладку Steps. На этой закладке выбираем, какие задания будут выполняться. Нажимаем New, на рисунке 4, вы видите добавление первого пункта задание. Делаем следующее: Step name – пишем название первого задания, Type – выбираем созданный файл 1С_Arhive.bat. Это задание архивирует файл 1Cv8.1CD, после выполнение файл будет bux_1_6100909.rar. Код файла и настройка ниже.

Устанавливаем WinRaR – по умолчанию инсталлятор устанавливает программу, в «C:\Program Files\WinRAR», из всего каталога программы нам понадобиться файл Rar.exe. Создаем файл с расширением «bat», текст файла:

<-Начало файла-> @echo off c: cd c:\Program Files\WinRaR Rar.exe a d:\BackUp_db_1C\bux_1_6\bux_.rar d:\1Cv8.0_database\base\1Cv8.1CD-agDD-MM-YY <-Конец файла->

Для архивных копий ИБ я создал каталог «BackUp_db_1C\bux_1_6» на диске«D». Вот что получилось рисунок 5.

Как видно из рисунка 5, первое наше задание создано, как говорилось раньше, это задание делает архивацию файла конфигурации в архив. Следующее задание: делаем архивную копию базы данных на сервере.

Создаем второе задание в Step name – ставим название Backup_Full, Type – Transact-SQL script (T-SQL), Database – выбираем нашу базу bux_1_6, Command – записываем код см.ниже. Нажимаем ок. Код для архивирования базы данных:

<-Начало кода->
 
BACKUP DATABASE [bux_1_6] TO  DISK = N'D:\bux_1_6-Full_Backup' WITH NOFORMAT, INIT,  NAME = N'bux_1_6-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
<- Окончание кода->

Дальше переходим на закладку Shedules, нажимаем на New и создаем график архивирования базы данных. Первое задание архивирует в архив программой WinRaR, второе задание архивирует базу данных на сервере СУБД. Созданный план архивации базы данных, представлен на рисунке 6.

Из рисунка 6 видно, что мы выбрали архивацию каждую неделю с понедельника по пятницу с 22.00 часа. В этот час весь рабочий персонал дома, с базой данных не работают и сервер весь в нашем подчинении. Все готово сохраняем, наше задание готово, теперь запускаем на выполнение наше задание. Щелкаем по заданию, выбираем в выпадающем меню пункт Start Job. Запускаем задание, если все сделано правильно, то перед нами появится сообщение на рисунке 7.

В итоге получается архивная копия, которую делает архиватор, будет лежать в каталоге d:\1Cv8.0_database\base\, а backup сервера ms sql server 2005 в корне диска D. Соответственно пути можно задавать любые как говорится на вкус и цвет. Я думаю оптимальный выбор сделать так.

1) Для архиватора:
d:\1Cv8.0_database\bux_1_6\arhive\

2) Для ms sql server 2005:
d:\1Cv8.0_database\bux_1_6\ms_base\

Все поставленные задачи выполнили, добились автоматизации архивирование базы данных.
На этом все, удачи!

Автор: Плахов Евгений aka bjjzpp
E-mail:

Комментарии

3 комментария(ев)
аватар: Ghost Rider
Ghost Rider
Дата: Пнд, 07/02/2011 - 20:38
Звание: Посвященный
Сообщений: 384

bjjzpp, теперь plaha - это же тот самый человек.

аватар: plaha
plaha
Дата: ЧТ, 02/02/2012 - 02:46
Звание: Энтузиаст
Сообщений: 157

2 Ghost Rider
Да.

аватар: Zanuda25
Zanuda25
Дата: ПТ, 03/02/2012 - 05:35
Звание: Энтузиаст
Сообщений: 281

Интересная статья