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

时间:2012-05-30 12:28:36

标签: 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'

错误

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 个答案:

答案 0 :(得分:20)

在此答案的上下文中 - remote指的是您的计算机,local是数据库服务器。


local文件系统

恢复

将备份文件复制到local文件系统,并直接从该副本恢复。

先决条件

  • test.bak复制到服务器上的C:\test.bak

语法

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

remote文件系统

恢复

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

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

先决条件

  • Remote计算机名称为remotemachine
  • 位于remote 'C:\test.bak'
  • 的备份
  • 数据库服务帐户有权访问remote管理员共享C$

语法

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