Какой самый эффективный способ восстановления нескольких баз данных в SQL 2008 - PullRequest
6 голосов
/ 26 августа 2010

Я выполняю масштабную миграцию сервера, поэтому мне нужно переместить более 50 баз данных SQL 2005 на новую установку сервера SQL 2008.

Ребята из БД дали мне только резервную копию каждой базы данных, поэтому у меня есть каталог с примерно 50 файлами .bak, находящимися в каталоге (т.е. c: \ db), который мне нужно восстановить.

Мне нужно восстановить каждую базу данных на новом сервере.

Я могу сделать это индивидуально в Management Studio, но это займет много времени. Есть ли более эффективный способ решения этой проблемы.

Итак, мой вопрос:

Какой самый эффективный способ восстановления всех этих баз данных.

Фон машины: Сервер Win 2k8, с SQL 2008 Workgroup Edition, .net 4 установлен вместе с Powershell 2.

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 26 августа 2010

Отредактировано после комментария: вы можете восстановить сценарии, например:

restore database DatabaseName
from disk = N'c:\dir\BackupFileName.bak'
with file = 1,  
move N'DatabaseName' to N'c:\dir\DatabaseName.mdf',  
move N'DatabaseName_log' to N'c:\dir\DatabaseName.ldf',  
stats = 10, 
recovery 

Две строки move перемещают файлы в папку на новом сервере.Обычно это DatabaseName и DatabaseName_log, но они могут различаться.

С recovery означает: подключить базу данных к сети, не дожидаясь дополнительного восстановления журнала.

Чтобы сгенерировать подобный скрипт, щелкнитеНажмите кнопку сценария (вверху слева) в окне мастера восстановления базы данных и нажмите Script action to....

0 голосов
/ 26 августа 2010

Написать собственное приложение / скрипт? Вы можете расширить SSMS или использовать инструменты SQL-сервера, чтобы написать приложение, которое просто читает эти файлы и восстанавливает их в базе данных. Я знаю, что это возможно в .net, возможно и при использовании сценариев powershell.

Это эффективно, если эту задачу нужно выполнить за короткий промежуток времени во время производственной миграции, в противном случае затраты на написание приложения превышают 50 операций восстановления вручную! Но если вы разработчик и выбираете вручную, то позор вам! :.)

...