MSFT SQL Server - автоматическое восстановление в SQL 2005

Ответить
Аватара пользователя
Untiring

MSFT SQL Server - автоматическое восстановление в SQL 2005

Сообщение Untiring »

Добрый день. Помогите с написание SQL скрипта для MS SQL 2005.



Есть рабочая БД и тестовая БД (для всякого рода тестов, не резервная). Необходимо поддержание тестовой БД в актуальном состоянии путем восстановления из бэкапа рабочей. Быкапы рабочей находится на диске d:\temp\Trade_backup_2012_10_24_070006_3086250.bak вот в таком формате.



Вот шаги которые надо выполнить автоматически:

1.Просмотр каталога, где хранятся архивы;

2.Поиск самого молодого архива;

3.Восстановление БД.



Нашел нечто похожее, но не могу переделать для своих нужд.



declare @db_name as varchar(100) = 'data_base_1';--имя базы данных

declare @table as table(SUBDIR varchar(100)); --таблица для хранения всех имен подкаталогов

declare @date as varchar(200); --дата создания архива

declare @path varchar(200) --путь к архиву

insert @table exec master.dbo.xp_subdirs N'\\192.168.1.50\sql_server_backups\'; --запись всех подкаталогов в таблицу

select @date = MAX(subdir) from @table --поиск самого молодого архива (самой большой даты)

set @path = N'\\192.168.1.50\sql_server_backups\' + @date + '\' + @db_name --задание пути для восстановления

RESTORE DATABASE @db_name FROM DISK = @path WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10

GO
Ответить

Вернуться в «Программирование и базы данных»