我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
当前回答
我确定这个问题与文件和文件夹权限有关。
其他回答
这通常是由于版本不兼容造成的。 按照以下步骤来解决:
步骤1:使用首选名称创建数据库。(在我们的例子中是AdventureWorks)
步骤2:写单击数据库,然后单击Tasks >> Restore >> database…
第三步:在恢复界面进入第三个选项选择。现在选择“覆盖现有数据库(WITH REPLACE)”复选框
步骤4:单击“确定”。它应该能够成功地恢复数据库。
注意:当你用REPLACE恢复一个数据库时,它会覆盖旧的数据库。
:
1)在使用RESTORE命令时使用WITH REPLACE(如果使用GUI,则在Options ->覆盖现有数据库(WITH REPLACE))。
2)删除冲突的旧数据库,使用restore命令重新恢复。
查看链接了解更多细节。
同样重要的是,要确保您的数据库名称与您试图恢复的备份中的数据库名称相匹配。如果不匹配,则会得到相同的错误。
USE [master];
GO
CREATE DATABASE db;
GO
CREATE DATABASE db2;
GO
BACKUP DATABASE db TO DISK = 'c:\temp\db.bak' WITH INIT, COMPRESSION;
GO
RESTORE DATABASE db2
FROM DISK = 'c:\temp\db.bak'
WITH REPLACE,
MOVE 'db' TO 'c:\temp\db2.mdf',
MOVE 'db_log' TO 'c:\temp\db2.ldf';
在选项中,将“还原为”文件名称更改为新的数据库mdf和ldf。它引用源数据库的.mdf和.ldf文件。