使用BACKUP DATABASE
命令在笔记本电脑上获取SQL Server Express数据库的副本,现在我正尝试使用T-SQL语句将其还原到另一台计算机:
RESTORE DATABASE [OurDB]
FROM DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part1.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part2.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part3.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part4.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part5.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part6.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part7.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part8.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part9.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part10.bak'
WITH REPLACE
GO
但是当它试图恢复我得到错误
Msg 5133,Level 16,State 1,Line 1
目录查找文件“c:\ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ DATA \ AppConfig_Data.ndf“失败了 操作系统错误3(无法检索此错误的文本。 原因:1815)。
还有其他几个,都是类似的错误。问题是看起来SQL Server正在尝试将数据库还原到目录C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\
,即备份源自源计算机上的数据目录。
但是在我要恢复到SQL Server数据路径的新计算机上是C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA
如何更改数据文件中的路径以使其恢复到正确的位置?
答案 0 :(得分:2)
您需要在RESTORE命令中添加其他信息,以定义这些位应该去的位置 - 例如:
RESTORE DATABASE [OurDB]
FROM DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part1.bak',
MOVE N'Your_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\OurDB.mdf',
MOVE N'Your_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\OurDB_Log.ldf'