Показать полную графическую версию : групповой Restore (восстановить сразу несколько баз) в MS SQL 2000?
kazna_vovan5745
09-02-2010, 10:49
Здравствуйте! У меня часто возникает такая ситуация что необходимо быстро отресторить сразу несколько баз (обычно 10-15) по одному или нескольким бэкапам, вот хотелось бы разработать скрипт или может быть он у кого-то есть готовый, чтобы можно было быстро восстановить несколько баз одновременно.
Delirium
10-02-2010, 01:59
Есть такая вещь в 2000 - Data Transformation Sevice (DTS). В нем можно создать пакет, который и будет выполнять требуемую операцию.
kazna_vovan5745
10-02-2010, 15:18
Ни разу не работал с DTS раньше, разве что импорт/экспорт в текстовый файл. Не могли бы вы рассказать как это можно реализовать?
Delirium
11-02-2010, 01:12
Че то я слишком сложное посоветовал. Все гораздо проще.
Базы, которые требуется отресторить, уже есть на сервере? Т.е. надо сделать подмену? Тогда можно использовать наипростешие скрипты:
use [master]
GO
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'ИМЯ_БАЗЫ') DROP DATABASE [ИМЯ_БАЗЫ]
GO
RESTORE DATABASE ИМЯ_БАЗЫ FROM DISK = 'C:\\ИМЯ_БАЗЫ' WITH MOVE 'ИМЯ_БАЗЫ_Data' TO 'c:\ПАПКА\\ИМЯ_БАЗЫ_Data.mdf',MOVE 'ИМЯ_БАЗЫ_log' TO 'c:\ПАПКА\ИМЯ_БАЗЫ_log.ldf'
GO
Данная операция проверяет, есть ли база с указанным именем и удаляет, если есть. После этого восстанавливается новая база из указанного файла. Почитайте про команду Restore database (http://www.google.ru/search?client=opera&rls=ru&q=SQL+Restore+Database&sourceid=opera&ie=utf-8&oe=utf-8).
Приведенный код можно размножить, изменяя имена баз, и все :) Потом запускаем через query analizer или DTS.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC