我使用SQL server express 2005作为后端。我以编程方式创建了一个备份文件。如果我使用相同的服务器,那么它会成功恢复数据。但是,如果我们尝试在不同的服务器上进行恢复,则会失败。并抛出以下消息
“备份集保存除现有'DatabaseName'数据库以外的数据库的备份.RESTORE DATABASE异常终止。”
在两台服务器上,Sql server实例名称和数据库名称相同。 请建议我如何解决此错误
答案 0 :(得分:1)
您需要从文件(包含在备份集中)而不是直接备份集进行RESTORE。最下面的例子是复制数据库,但想法是一样的。:
BACKUP DATABASE AdventureWorks
TO AdventureWorksBackups ;
RESTORE FILELISTONLY
FROM AdventureWorksBackups ;
RESTORE DATABASE TestDB
FROM AdventureWorksBackups
WITH MOVE 'AdventureWorks_Data' TO 'C:\MySQLServer\testdb.mdf',
MOVE 'AdventureWorks_Log' TO 'C:\MySQLServer\testdb.ldf';
GO