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

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

kazna_vovan5745 09-02-2010 10:49 1342818

групповой Restore (восстановить сразу несколько баз) в MS SQL 2000?
 
Здравствуйте! У меня часто возникает такая ситуация что необходимо быстро отресторить сразу несколько баз (обычно 10-15) по одному или нескольким бэкапам, вот хотелось бы разработать скрипт или может быть он у кого-то есть готовый, чтобы можно было быстро восстановить несколько баз одновременно.

Delirium 10-02-2010 01:59 1343548

Есть такая вещь в 2000 - Data Transformation Sevice (DTS). В нем можно создать пакет, который и будет выполнять требуемую операцию.

kazna_vovan5745 10-02-2010 15:18 1343923

Ни разу не работал с DTS раньше, разве что импорт/экспорт в текстовый файл. Не могли бы вы рассказать как это можно реализовать?

Delirium 11-02-2010 01:12 1344353

Че то я слишком сложное посоветовал. Все гораздо проще.
Базы, которые требуется отресторить, уже есть на сервере? Т.е. надо сделать подмену? Тогда можно использовать наипростешие скрипты:


Код:

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.
Приведенный код можно размножить, изменяя имена баз, и все :) Потом запускаем через query analizer или DTS.


Время: 20:25.

Время: 20:25.
© OSzone.net 2001-