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

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

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

会有什么问题呢?


当前回答

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

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

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

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

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

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

其他回答

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

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

这是因为原始Db中的.mdf和.ldf文件可能位于c:\programFile\....这个信息保存在备份!

如果您在安装在c:\program Files (x86)\ ....的不同SQL Server上创建了相同的DB您不能像往常一样恢复。您需要重新定位.mdf和.ldf文件的路径。

因此:

在新的Server上创建一个空DB 右键单击空Db >任务>恢复>数据库>单击设备选择您的。bak文件>选择Db恢复到 选择“重新定位所有文件到文件夹” 点击左边站点>的选项,点击覆盖

完成了! 希望能有所帮助!

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

我是来寻找灵魂的

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

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

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

我也一样。我的解决方案是:

右键单击数据库。 选择任务,选择恢复数据库。 单击左侧的选项。 检查第一个选项覆盖现有数据库(WITH REPLACE)。 转到常规,选择源和目标数据库。 单击OK,就是这样

这帮助我从系统驱动器导入备份文件

Create a database with the same name(preferably) as your .bak file database name Right click the database > Tasks > Restore > Database Under "Source for restore" select "From Device" Select the .bak file selecting the path from the system Select the check box for the database in the list box below Under "Select a Page" on the right Select "Options" Select the checkbox labeled "Preserve the replication settings(WITH KEEP_REPLICATION) Select the checkbox for Overwrite the existing database(WITH REPLACE) Now Go back to the General page and click OK to restore the database...