21

我的本地机器上有一个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。

4

1 回答 1

22

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


local从文件系统恢复

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

先决条件

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

句法

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

remote从文件系统恢复

或者,您可以使用UNC 语法remote从备份文件中恢复。我通常不使用此选项,但如果文件系统上没有足够的磁盘空间用于备份文件和恢复的数据库,它会很有用。local

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

先决条件

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

句法

RESTORE DATABASE TESTPROJECT FROM DISK = N'\\remotemachine\c$\test.bak';
于 2012-05-30T12:41:42.510 回答