Восстановить файл .bak для удаленной базы данных

У меня есть файл test.bak на моей локальной машине. Мне нужно восстановить этот файл в базу данных удаленных компьютеров. Как это сделать?

Когда я пытаюсь это сделать, удаленная база данных выдает ошибку, которая не может найти test.bak в локальной файловой системе.

Query

RESTORE DATABASE TESTPROJECT 
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ICON3\MSSQL\Backup\test.bak'

Ошибка

Cannot open backup device 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ICON3\MSSQL\Backup\test.bak'. Operating system error 2(The system cannot find the file specified.).

Как я могу это достичь? Я использую Microsoft SQL Server 2008.

Ответы

Ответ 1

В контексте этого ответа - remote относится к вашей машине, local - сервер базы данных.


Восстановить из local файловой системы

Скопируйте файл резервной копии в файловую систему local и восстановите непосредственно из этой копии.

Необходимые условия

  • Скопируйте test.bak в C:\test.bak на сервер

Синтаксис

RESTORE DATABASE TESTPROJECT FROM DISK = N'C:\test.bak';

Восстановить из remote файловой системы

В качестве альтернативы вы можете восстановить из файла резервной копии remote с помощью синтаксиса UNC. Обычно я не использую этот параметр, но он полезен, если на файловой системе local недостаточно места на диске для файла резервной копии и восстановленной базы данных.

Успех этой опции зависит от некоторых переменных - разрешений файловой системы remote, назначенных учетной записи службы базы данных, состояния сети и других.

Необходимые условия

  • remote имя машины remotemachine
  • Резервное копирование находится на remote в 'C:\test.bak'
  • Учетная запись службы базы данных имеет доступ к общему ресурсу администратора remote C$

Синтаксис

RESTORE DATABASE TESTPROJECT FROM DISK = N'\\remotemachine\c$\test.bak';