Оперативный бэкап средствами SQL 2005

23.11.10

База данных - Архивирование (backup)

Пошаговая инструкция по настройке оперативного бэкапа SQL 2005 и Maintenance Plan, как примапить сетевой диск из SQL. Процедура восстановления после сбоя.

В качестве вступления, хотел бы отметить, что данная инструкция ни в коей мере не претендует на "истину в последней инстанции", такая задача не ставилась. Просто скомпилировал некоторый опыт, который, вероятно, может быть вам полезен в практике. Итак...

Имеется: рабочий сервер БД с СУБД SQL 2005 (9.0), с несколькими БД 1C 8;

1 раз в сутки выполняется резервное копирование полного бэкапа на ленту;

 

Задача:

Обеспечить оперативное резервное копирование в течение дня, а именно:

- иметь полную копию на начало дня , хранится 1 сутки, затем перезаписывается;

- иметь копии Transaction Log (TL) через каждые 20 минут;

- актуальность копий Transaction Log 1 сутки, по прошествии - должны удаляться;

- оперативные бэкапы хранятся на сетевом диске (NAS);

 

Решение:

Необходимое условие: пользователь, под которым запускается SQL Server agent (ну и SQL Server, на всякий случай), должен иметь права на сетевой ресурс NAS сервера, куда будут складываться бэкапы. Кроме того, Recovery Model базы, которую планируется бэкапить должна быть Full.

1. Обеспечить возможность поключения SQL сервера к сетевому диску N:.

1.1. Предварительная операция, требуется для включения расширенных опций SQL 2005 (Т-SQL):

 

-- To allow advanced options to be changed.

EXEC sp_configure 'show advanced options', 1

GO

-- To update the currently configured value for advanced options.

RECONFIGURE

GO

-- To enable the feature.

EXEC sp_configure 'xp_cmdshell', 1

GO

-- To update the currently configured value for this feature.

RECONFIGURE

GO

 

1.2. Непосредственно подключение логического диска (T-SQL):

 

EXEC xp_cmdshell 'net use N: \\SRV-nas\1c_backup'

GO

 

2. Настраиваем Maintenance Plan (MP) из 2-х подпланов:

- subplan_1 - полный бэкап по расписанию;

- subplan_2 - бэкап Transaction log и удаление бэкапов Transaction log с датой ранее 1 дня, по расписанию ;

2.1. Полный бэкап (Full) будет перезаписываться поверх предыдущего, поэтому создаем Backup Device на сетевом диске (T-SQL)*:

 

USE master

EXEC sp_addumpdevice 'disk', 'FULLBAK', '\\SRV-nas\1c_backup\FullBak.bak'

GO

 Таким образом, в Server Objects\Backup device появляется новое устройство FULLBAK.

2.2. Запускаем мастер Мaintenance Рlan Wizard.

2.3. Указываем Separate shedules for each task (отдельные расписания для каждой задачи)

2.4. В задачах выбираем: – Back up Database (FULL); - Back up Database (Transaction Log),

т.о. получаем 2 подплана;

2.5.Настраиваем subplan_1: выбираем базы для копирования, выбираем Back up databases across one or more files, кнопкой ADD выбираем подключенное устройство FULLBAK, в If backup files exist выбираем “owerwrite”, настраиваем расписание для выполнения задачи Shedule кнопкой change - выполнение каждый день в определенное время (в моем случае до начала рабочего дня, в 7:00).

2.6. Настраиваем subplan_2:

- выбираем базы для копирования;

- выбираем create a backup file for every database

 - указываем путь к папке на диске N:, куда будут складываться бэкапы TL; 

- настраиваем расписание Shedule - каждые двадцать минут в интервале, например, с 07:20 до 23:00;

2.7. Сохраняем, открываем на редактирование (Modify в дереве Management\Maintenance plans) наш сохраненный Maintenance Plan.

2.8. В subplan_2 drag-and-drop мышью добавляем из Toolbox задачу Maintenance Cleanup Task.

2.9. Щелкаем Edit по этой задаче, в пункте Search folder and delete files based on an extension, поле Folder выбираем папку, куда складываются файлы бэкапа Transaction Log. В поле File extension (расширение файлов) ставим trn. В Delete files older than following, согласно задаче, ставим 1 сутки. Соединяем стрелкой обе подзадачи (бэкап и удаление), чтобы они выполнялись по одному расписанию.

 

3.0. Сохраняем наш Maintenance Plan, он готов к выполнению.

 

4. Теперь о процедуре восстановления в случае сбоя в течение рабочего дня.

4.1. Сделать вручную выгрузку бэкап Transaction Log, чтобы зафиксировать последние данные на момент сбоя.

4.2. Восстановить  утренний Полный бэкап

4.3. Восстановить последовательно все бэкапы Transaction Log, сохраненные после полного бэкапа включая сохраненный п. 4.1.

4.4. Т.о. база приводится в состояние "до сбоя".

 

 

Источники:

http://www.itcommunity.ru/blogs/rsug/archive/2009/02/27/55814.aspx

http://dev.net.ua/blogs/kosinsky/archive/2009/02/27/7810.aspx

http://msdn.microsoft.com/en-us/library/ms190693.aspx

http://www.sql-server-performance.com/articles/dba/creating_backup_jobs_p1.aspx

http://www.sql.ru

http://razbezhkin.rpod.ru/all/

http://www.gilev.ru/1c/mssql/backup.htm 

http://alexeistar.blogspot.com/2010/11/sql-2005.html (мой личный блог) 

и т.д.

 

 * Есть альтернативный вариант, при котором так же, как и для бэкапа Transaction Log, можно обойтись без создания Backup Device , воспользовавшись Create a backup file for every database. Это несколько упростит процедуру, но не расширит ваши знания. )

 

 

 

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42470    10    24    

38

BackUPv8 - система резервного копирования баз 1С

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    14671    12    6    

17

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    5703    n_mezentsev    15    

23

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    19480    sapervodichka    36    

140

Архивирование базы в dt и дамп postgres

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    4676    2    Gnom-Gluck    6    

6

Утилита копирования баз данных 1С

Архивирование (backup) Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    4216    3    Giblarium    12    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. zzz_natali 61 17.11.10 16:13 Сейчас в теме
Ну, в майтенансах ты Америку не открыл, да и у каждого сисадмина свое видение бэкапирование, а за приклеивание алиаса FULLBAK для резервного копирования в сетевом окружении ставлю плюсик.
2. AlexS2 153 17.11.10 17:11 Сейчас в теме
На самом деле, открытия Америки нет и в остальном. Источники все в публикации... Спасибо за плюсик. :)
3. iceflash 4 24.11.10 05:59 Сейчас в теме
Старо, очень, как мир=) Лучше бы по больше информации о постгрес
4. exEVil 18.08.11 10:59 Сейчас в теме
Да постгри тоже нужно обсуждать, как ника альтернатива.
5. dob_a 13.10.11 14:41 Сейчас в теме
Спасибо большое, мне как начинающему админу как раз кстати, то что нужно.
6. F1C 24 16.01.12 10:51 Сейчас в теме
Спасибо за информацию! пригодилась)
7. sashapere 157 09.04.12 09:29 Сейчас в теме
Спасибо за статейку , :) буду осваивать! , для начало то что нужно! тем кто знает что делать эта статья конечно ничего не даст, но для того кто только начинает это то что нужно, потомучто рыться в тоннах документации незная что толком нужно это край.
8. KruS 20.05.13 10:51 Сейчас в теме
Какому пользователю необходимо давать права на сетевом ресурсе для успешного бэкапа на устройство резервного копирования?
9. KruS 20.05.13 11:14 Сейчас в теме
Вопрос возник в связи с тем, что запуск служб SQL сервера и Агента SQL сервера по-умолчанию осуществляется от имени локальной учетки.
Проблему решил создав в домене специальную учетку и перенастроил службы на запуск от имени этой учетки.
Оставьте свое сообщение