将.bak文件还原到远程数据库

Roc*_*art 17 sql sql-server ssms

test.bak我的本地机器上有一个文件.我需要将此文件还原到远程计算机的数据库.我怎么做?

当我尝试这个时,远程数据库抛出一个无法test.bak在本地文件系统上找到的错误.

询问

RESTORE DATABASE TESTPROJECT 
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ICON3\MSSQL\Backup\test.bak'
Run Code Online (Sandbox Code Playgroud)

错误

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.).
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我正在使用Microsoft SQL Server 2008.

Bry*_*yan 20

在这个答案的上下文中 - remote指的是你的机器,local是数据库服务器.


local文件系统还原

将备份文件复制到文件local系统,并直接从此副本还原.

先决条件

  • 复制test.bakC:\test.bak服务器上

句法

RESTORE DATABASE TESTPROJECT FROM DISK = N'C:\test.bak';
Run Code Online (Sandbox Code Playgroud)

remote文件系统还原

或者,您可以remote使用UNC语法从备份文件还原.我通常不使用此选项,但如果local备份文件和已还原数据库的文件系统上没有足够的磁盘空间,则此选项很有用.

此选项的成功取决于一些变量 - remote分配给数据库服务帐户的文件系统的权限,网络运行状况等.

先决条件

  • Remote 机器名称是 remotemachine
  • 备份位于remote'C:\test.bak'
  • 数据库服务帐户可以访问remote管理员共享C$

句法

RESTORE DATABASE TESTPROJECT FROM DISK = N'\\remotemachine\c$\test.bak';
Run Code Online (Sandbox Code Playgroud)

  • 嗨,布莱恩,如果出现“访问被拒绝”并且文件已与所有人共享,我该怎么做?。 (3认同)