Перейти на старую версию сайта
В качестве вступления, хотел бы отметить, что данная инструкция ни в коей мере не претендует на "истину в последней инстанции", такая задача не ставилась. Просто скомпилировал некоторый опыт, который, вероятно, может быть вам полезен в практике. Итак...
Имеется: рабочий сервер БД с СУБД SQL 2005 (9.0), с несколькими БД 1C 8;
1 раз в сутки выполняется резервное копирование полного бэкапа на ленту;
Обеспечить оперативное резервное копирование в течение дня, а именно:
Необходимое условие: пользователь, под которым запускается SQL Server agent (ну и SQL Server, на всякий случай), должен иметь права на сетевой ресурс NAS сервера, куда будут складываться бэкапы.
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. Бэкап основной базы будет перезаписываться поверх предыдущего, поэтому создаем 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, он готов к выполнению.
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
и т.д.
* Есть альтернативный вариант, при котором так же, как и для бэкапа Transaction Log, можно обойтись без создания Backup Device , воспользовавшись Create a backup file for every database. Это несколько упростит процедуру, но не расширит ваши знания. )
Автор: © AlexS2
(Информация с ресурса http://infostart.ru)
Read more...