我的.bak
文件是另一个本地服务器。
我尝试了太多不同的剧本但无法取得成功。
我试过语法
RESTORE FILELISTONLY FROM DISK='D:\ERPNewtesting-12022014.bak'
从上面的查询中获取Logicalname并在以下查询中使用
RESTORE DATABASE Test FROM DISK='ERPNewtesting-12022014.bak'
WITH
MOVE 'ERPAgrotechBeta' TO 'D:\Pragnesh\Test.mdf',
MOVE 'ERPAgrotechBeta_log' TO 'D:\Pragnesh\Test_log.ldf',
REPLACE,
STATS=10
执行上述查询后,生成错误。
Msg 3201,Level 16,State 2,Line 3
无法打开备份设备'C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup \ ERPNewtesting-12022014.bak'。操作系统错误2(系统找不到指定的文件。) Msg 3013,Level 16,State 1,Line 3
RESTORE DATABASE异常终止。
请以这种方式帮助我
答案 0 :(得分:3)
听起来您已在一台服务器上备份了数据库,并且您希望将其还原到另一台服务器。这是对的吗?
您的备份文件D:\ERPNewtesting-12022014.bak
在服务器A上,对吗?它需要在服务器B上运行SQL Server服务的帐户可访问。可以想到一些快速选项:
然后继续还原。如果您选择选项1或2,它将是这样的:
RESTORE DATABASE Test
FROM DISK='\\SomeServer\Shared Folder\ERPNewtesting-12022014.bak'
WITH
MOVE 'ERPAgrotechBeta' TO 'D:\Pragnesh\Test.mdf',
MOVE 'ERPAgrotechBeta_log' TO 'D:\Pragnesh\Test_log.ldf',
REPLACE,
STATS=10
如果您选择选项3,它将如下所示:
RESTORE DATABASE Test
FROM DISK='D:\Path on Server B\ERPNewtesting-12022014.bak'
WITH
MOVE 'ERPAgrotechBeta' TO 'D:\Pragnesh\Test.mdf',
MOVE 'ERPAgrotechBeta_log' TO 'D:\Pragnesh\Test_log.ldf',
REPLACE,
STATS=10
答案 1 :(得分:1)
您只需在此指定.bak
文件的“相对”路径:
RESTORE DATABASE Test FROM DISK='ERPNewtesting-12022014.bak'
并且很明显,从错误消息中,该文件不在此指向的位置。
无法打开备份设备'C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup \ ERPNewtesting-12022014.bak'。操作系统错误2(系统找不到指定的文件。)
您需要在此处为.bak
文件指定完整,完整的路径:
RESTORE DATABASE Test FROM DISK='D:\ERPNewtesting-12022014.bak'
*****
如果您实际尝试在此处指定完整路径,以便SQL Server可以找到它的恢复源 - 我总是肯定它会工作......
答案 2 :(得分:1)
仅供参考:从SqlServer管理工作室可以选择从UI恢复数据库。它允许您浏览以查找源bak文件。打开的浏览窗口位于数据库服务器计算机上,而不是运行管理工作室的计算机。
答案 3 :(得分:0)
主要是由于供股问题: -
按照以下2个步骤解决: -
让服务器在默认目录上进行备份,并将文件复制到所需的文件夹中。我做到了。
为备份目录提供与所需文件夹相同的权限。
OR
您可以将服务帐户添加到进行备份的计算机的本地管理员组