2010-08-13 110 views
2

我有一个SQL Server数据库,我试图恢复。我的源数据库在SQL Server 2005安装中。我的新服务器是SQL Server 2008机器。我在SQL Server 2005安装上备份了数据库。我试图将它恢复到SQL Server 2008安装。使用SQL Server恢复备份

当我试图恢复备份的数据库,我收到一个错误,指出:

TITLE: Microsoft SQL Server Management Studio 
------------------------------ 
Restore failed for Server 'DBSERVER'. (Microsoft.SqlServer.SmoExtended) 
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476 
------------------------------ 
ADDITIONAL INFORMATION: 
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) 
------------------------------ 
The backup set holds a backup of a database other than the existing 'MyDatabase' database. 
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server, Error: 3154) 
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=3154&LinkId=20476 

问题是什么?我究竟做错了什么?我已选中选项页面上的“覆盖现有数据库(WITH REPLACE)”框。

谢谢

回答

8

您应该验证目标目录是否存在于数据库中。默认情况下,数据库文件将被恢复到它们来自的目录。目标目录可能不存在,因为SQL Server 2005默认位置与SQL Server 2008默认位置不同。

您可以查看“恢复”对话框中的选项页面“恢复数据库文件为...”部分。它包含将要恢复的文件列表。查看“还原为”列并验证每个文件的目标目录是否存在。

如果目标不存在,请将“还原为”值更改为有效的文件路径。这在RESTORE DATABASE命令中被称为MOVE选项。