我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:

备份集保存现有数据库以外的数据库的备份

我的数据库是SQL Server 2008,备份文件是2005年的。

会有什么问题呢?


当前回答

这通常是由于版本不兼容造成的。 按照以下步骤来解决:

步骤1:使用首选名称创建数据库。(在我们的例子中是AdventureWorks)

步骤2:写单击数据库,然后单击Tasks >> Restore >> database…

第三步:在恢复界面进入第三个选项选择。现在选择“覆盖现有数据库(WITH REPLACE)”复选框

步骤4:单击“确定”。它应该能够成功地恢复数据库。

注意:当你用REPLACE恢复一个数据库时,它会覆盖旧的数据库。

其他回答

这通常是由于版本不兼容造成的。 按照以下步骤来解决:

步骤1:使用首选名称创建数据库。(在我们的例子中是AdventureWorks)

步骤2:写单击数据库,然后单击Tasks >> Restore >> database…

第三步:在恢复界面进入第三个选项选择。现在选择“覆盖现有数据库(WITH REPLACE)”复选框

步骤4:单击“确定”。它应该能够成功地恢复数据库。

注意:当你用REPLACE恢复一个数据库时,它会覆盖旧的数据库。

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';

system.data.sqlclient。sqlerror:备份集保存现有'Dbname'数据库以外的数据库的备份

我是来寻找灵魂的

不要使用相同或不同的数据库名称创建数据库! 右键单击数据库| Tasks >恢复>数据库 在“还原源”下选择“从设备” 选择.bak文件 在下面的网格视图中选中数据库的复选框 到数据库:“这里您可以键入新的数据库名称”(例如:DemoDB) 不要从下拉列表中选择现有数据库 现在点击Ok按钮,它将创建一个新的数据库,并从你的。bak文件中恢复所有数据。

你甚至可以从这个链接得到帮助

希望这将有助于解决您的问题…

您可以恢复到一个新的数据库,验证文件名语法,它将在日志文件中,对于新的SQL版本将是“_log”后缀

AD检查覆盖现有的数据库标志在选项卡

Fabio

我也面临同样的问题,并通过这样做找到了解决方案,使用SSMS 2014

Just select the Option Overwrite the existing database(WITH REPLACE)