将.bak文件恢复到远程数据库

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。


你是指恢复.bak文件时参考的是本地路径还是服务器路径? - praveen
1
基本上,.bak 文件需要在运行 SQL Server 软件的机器上的磁盘上。您不能通过将 .bak 文件放在本地硬盘上来恢复到远程服务器。 - marc_s
1个回答

22

在这个答案的背景下,remote 指的是你的机器,local 是数据库服务器。


local 文件系统中还原

将备份文件复制到 local 文件系统中,然后直接从该副本进行还原。

先决条件

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

语法

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

远程文件系统还原备份

您也可以使用UNC语法远程备份文件中还原。我通常不使用此选项,但如果本地文件系统的磁盘空间不足以存储备份文件和还原后的数据库,则此选项非常有用。

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

先决条件

  • 远程计算机名称为remotemachine
  • 备份位于远程上的'C:\test.bak'
  • 数据库服务帐户可以访问远程管理员共享C$

语法

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

3
嗨,Bryan,如果出现“访问被拒绝”的情况,并且该文件与所有人分享,我该怎么办? - Juan Ruiz de Castilla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接