Бэкап базы средствами SQL-DMOВ статье приведен пример обработки для архивации базы средствами SQL DMO. Просто скопируйте образец кода в файл ERT, подставьте свои пароли и явки. | | Автор статьи: Последняя редакция №1 от 13.03.06 URL: http://kb.mista.ru/article.php?id=121 | |
Ключевые слова: backup, sql, резервная копия, SQLDMO
В каталоге информационной базы, в которой вы будете запускать обработку, создайте подпапки Archive и Temp. В папку ExtForms положите файл rar.exe.
//////////////////////////////////////////////////////////////////////
Функция Ведущий0(ч)
Если ч<10 Тогда
Возврат "0"+ч;
КонецЕсли;
Возврат ч;
КонецФункции
//////////////////////////////////////////////////////////////////////
Функция ПолучитьВременнуюМетку()
перем гг, мм, дд, ч, м, с;
д=ТекущаяДата();
ТекущееВремя(ч, м, с);
гг=ДатаГод(д);
мм=ДатаМесяц(д);
дд=ДатаЧисло(д);
Возврат ""+гг+"_"+Ведущий0(мм)+"_"+Ведущий0(дд)+"__"+Ведущий0(ч)+"_"+Ведущий0(м)+"_"+Ведущий0(с);
КонецФункции
//*******************************************
Процедура Сформировать()
Сообщить(ТекущееВремя()+" Начало архивации.");
SQLServer=СоздатьОбъект("SQLDMO.SQLServer");
SQLServer.LoginSecure=0;
SQLServer.AutoReConnect=0;
SQLServer.Connect("УКАЖИТЕ ЗДЕСЬ ИМЯ ВАШЕГО СЕРВЕРА SQL","sa","УКАЖИТЕ ЗДЕСЬ ВАШ ПАРОЛЬ SA");
ИмяBak=КаталогИБ()+"Temp\Base2006.bak";
ИмяRar=КаталогИБ()+"Temp\Base2006.rar";
Backup=СоздатьОбъект("SQLDMO.Backup");
Backup.Action=0; //резервирование всей базы данных
Backup.DataBase="Base2006"; //ИМЯ БАЗЫ ДАННЫХ
Backup.Files=ИмяBak;
Backup.MediaName="Base2006.bak "+РабочаяДата()+" "+ТекущееВремя();
Backup.BackupSetName="Base2006";
Backup.BackupSetDescription="Резервная копия";
Backup.SQLBackup(SQLServer);
Сообщить(ТекущееВремя()+" Сжатие архива.");
//Выполняем архивацию при помощи rar.exe
КомандаСистемы(КаталогИБ()+"ExtForms\rar.exe m "+ИмяRar+" "+ИмяBak+" -m1 -ep");
//Добавляем файлы MD и DBA
КомандаСистемы(КаталогИБ()+"ExtForms\rar.exe a "+ИмяRar+" h:\Base2006\1Cv7.MD h:\Base2006\1Cv7.dba -ep");
ИмяАрхива=КаталогИБ()+"Archive\"+ПолучитьВременнуюМетку()+".rar";
фс.ПереименоватьФайл(ИмяRar,ИмяАрхива,1);
Сообщить(ТекущееВремя()+" Выгрузка завершена: "+ИмяАрхива);
КонецПроцедуры
Примеры работы с SQL-DMO были почерпнуты из книги Андрея Михайлова "1С:Предприятие 7.7/8.0 - системное программирование". |