Восстановление базы данных на новый сервер с новым именем - PullRequest
0 голосов
/ 03 ноября 2010

Я пытаюсь создать резервную копию и восстановить базу данных на новом сервере с новым именем, используя C # и базу данных SQL-сервера.Я могу создать резервную копию базы данных, но не могу восстановить ее на новом сервере с новым именем.

Мой запрос выглядит примерно так: он не работает и выдает ошибки:

RESTORE DATABASE test1 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\setupdb\BackupForsetupdb.bak' 
WITH MOVE 'setupdb_Data' TO '\\newserver\e$\MSSQL\DATA\test1_Data.MDF', 
MOVE 'setupdb_log' TO '\\newserver\e$\MSSQL\DATA\test1_Log.LDF';

Я пытаюсь добиться этого с помощью кода на C #.удаленные серверы.Пожалуйста, пролите немного света на это.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 03 ноября 2010

Нельзя использовать базы данных SQL Server на общих сетевых ресурсах: только локальные диски / диски SAN

Файл резервной копии может находиться в общем ресурсе, но MDF и LDF должны быть локальными

На ней есть статья MS KB : это можно сделать, но на свой страх и риск

1 голос
/ 03 ноября 2010

Ваши пути для команды перемещения должны быть относительно сервера.

e:\MSSQL\Data\test1_data.mdf

И ваше восстановление по пути должно быть также относительно сервера. Если c:\ с вашего локального компьютера, вам нужно либо указать ему UNC-путь (\\yourpc\c$\...), либо переместить его на сервер. Но имейте в виду, что при использовании опции пути UNC пользователь, на котором запущен серверный процесс, должен также иметь права доступа к общему ресурсу. Так что вам, вероятно, лучше скопировать на диск на удаленном компьютере.

...