还原数据库SQL脚本不起作用

时间:2016-09-07 09:38:05

标签: sql-server

我使用下面的方法来恢复远程服务器中的.bak文件但它无法正常工作。

restore database Status_backup
from disk = N'E:\Status bak files\Status_backup_201404302300.bak'
with 
    move 'Status_backup_201404302300' to N'E:\Files\Status_backup_201404302300.mdf',
    move 'Status_backup_201404302300' to N'E:\Files\Status_backup_201404302300.ldf'

我收到以下错误

  

消息3201,级别16,状态2,行25无法打开备份设备   'E:\ Status bak files \ Status_backup_201404302300.bak'。操作系统   错误3(系统找不到指定的路径。)。消息3013,级别   16,状态1,第25行RESTORE DATABASE异常终止。

请说明脚本中的错误是什么?

2 个答案:

答案 0 :(得分:0)

您的路径包含空格。添加双引号或将路径名更改为不带空格的内容。

正如评论中所述,您的实际问题是文件在另一台机器上的位置。您尝试使用本地路径访问远程文件。您应该将备份文件复制到本地计算机(显然是您的sql server),然后使用相应的路径重试。

答案 1 :(得分:0)

试试这个;

RESTORE DATABASE Status_backup 
FROM DISK = 'E:\Status bak files\Status_backup_201404302300.bak'
WITH
   MOVE 'Status_backup_201404302300' TO 'E:\Files\Status_backup_201404302300.mdf', 
   MOVE 'Status_backup_201404302300_log' TO 'E:\Files\Status_backup_201404302300.ldf', 
REPLACE