Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   автоматическое восстановление в SQL 2005 (http://forum.oszone.net/showthread.php?t=245360)

Untiring 24-10-2012 11:26 2011203

автоматическое восстановление в SQL 2005
 
Добрый день. Помогите с написание 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


Время: 01:42.

Время: 01:42.
© OSzone.net 2001-