MSFT SQL Server - групповой Restore (восстановить сразу несколько баз) в MS SQL 2000?

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

MSFT SQL Server - групповой Restore (восстановить сразу несколько баз) в MS SQL 2000?

Сообщение kazna_vovan5745 »

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

Re: MSFT SQL Server - групповой Restore (восстановить сразу несколько баз) в MS SQL 2000?

Сообщение Delirium »

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

Re: MSFT SQL Server - групповой Restore (восстановить сразу несколько баз) в MS SQL 2000?

Сообщение Delirium »

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

Re: MSFT SQL Server - групповой Restore (восстановить сразу несколько баз) в MS SQL 2000?

Сообщение kazna_vovan5745 »

Че то я слишком сложное посоветовал. Все гораздо проще.

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







Код:

Код: Выделить всё

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.
Ответить

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