用SqlServer2005 恢复sqlServer2000 数据库备份时出现的"3154"错误的解决

 

sqlServer2000 数据库"MyDatabaseName"备份文件名称: MyDatabaseName_20090320.BAK

错误信息如下:

The backup set holds a backup of a database other than the existing 'MyDatabaseName' database.
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server, Error: 3154)

原因:
备份的数据文件和日志文件与现有的数据库文件存放路径不一致;

解决办法:
1.新建一个同名数据库 MyDatabaseName;
2.执行下面的sql语句:

use master;
restore database MyDatabaseName from disk = 'd:\DBBackup\MyDatabaseName_20090320.BAK' with replace

注意:
需要在 use master下执行恢复语句,否则将出现如下错误提示:
Msg 3102, Level 16, State 1, Line 2
RESTORE cannot process database 'MyDatabaseName' because it is in use by this session. It is recommended that the master database be used when performing this operation.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.

 

原文地址:https://www.cnblogs.com/furenjun/p/sqlRestore.html