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

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

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

会有什么问题呢?


当前回答

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

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

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

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

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

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

其他回答

而不是点击恢复数据库点击恢复文件和文件组..

这在我的SQL服务器上工作

我通过另一种方式完成工作,使用生成脚本。这对我来说确实有用,因为由于同样的错误,Backup-Restore没有帮助解决这个问题。

在选项中,将“还原为”文件名称更改为新的数据库mdf和ldf。它引用源数据库的.mdf和.ldf文件。

有些人把这个问题看得太复杂了。我发现这非常简单。

1)创建一个与你的.bak文件数据库名称相同的数据库

2)右键单击数据库| Tasks >恢复>数据库

3)在“还原源”下选择“从设备”

4)选择“。bak”文件

5)在下面的网格视图中选中数据库对应的复选框

6)在右侧的“选择页面”下选择“选项”

7)选中“保留复制设置(WITH KEEP_REPLICATION)”复选框

现在返回到General页面,单击OK恢复数据库…就是这样。

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

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

因此:

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

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