SQL Server:强制备份/还原位置

3

我在笔记本电脑上使用 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
操作系统错误 3(无法检索此错误的文本。原因:1815),查找目录“c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppConfig_Data.ndf”失败。

还有其他一些类似的错误。问题在于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

我该如何更改数据文件中的路径以使其恢复到正确的位置?

1个回答

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'

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