2010-11-03 7 views
0

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

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

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# code.It выглядит как база данных не может быть восстановлен на удаленных серверах. Пожалуйста, пролите свет на это.

Спасибо!

+0

Если вы отправляете код или XML, ** пожалуйста ** выделите эти строки в текстовом редакторе и нажмите кнопку «код» (101 010) на панели инструментов редактора, чтобы красиво отформатировать и выделить синтаксис! –

ответ

3

Вы не можете иметь базы данных SQL Server на сетевые ресурсы, как правило: местные/приводы типа SAN только

Файл резервной копии может быть на долю, но MDF и LDFs должны быть местные

Существует MS KB article на нем: это можно сделать, но на свой страх и риск

+0

Вы можете это сделать. Я настроил сервер для запуска dbs с UNC-пути. (Не спрашивайте меня, почему ...) Не сказать, что это хорошая идея, но это возможно. –

1

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

e:\MSSQL\Data\test1_data.mdf 

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

Смежные вопросы