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

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

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

会有什么问题呢?


当前回答

我也遇到过这个问题。

解决方案:

不要创建一个空数据库并在其中恢复.bak文件。 使用“恢复数据库”选项,可通过右键单击SQL Server Management Studio的“数据库”分支,并提供数据库名称 提供要恢复的源。 如果另一个数据库仍然存在,也要在“Files”处更改文件名。否则你会得到“The file”…'不能被覆盖。它正在被数据库'yourFirstDb'使用”。

其他回答

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

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

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

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

4)选择“。bak”文件

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

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

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

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

我只是想解决这个问题。

从以管理员身份运行到这里和其他地方找到的建议,我尝试了所有方法;为我解决这个问题的是在文件属性选项卡中检查“重新安置文件”选项。

希望这能帮助到其他人。

在执行其他操作之前,请确认备份是全量备份还是差动备份。如果您试图从差异备份中创建一个新数据库,那么无论您做什么,都会遇到错误。

我也有同样的问题,但在PS上。我把它留在这里,以防有人试图做同样的事情

Restore-SqlDatabase -ServerInstance "<your instance name>" -Database "<your db name>" -BackupFile "<backup file route>.bak" -ReplaceDatabase

记住使用Set-ExecutionPolicy Unrestricted -Force和import import-module sqlps。完成后,不要忘记将执行策略设置为受限。

简单3步:

1-右键单击数据库→任务→恢复→数据库

2-检查设备作为源,并找到。bak(或压缩。bak)文件

3-在左侧窗格单击选项和:

check覆盖现有数据库。 恢复前进行尾日志备份 关闭到目标数据库的现有连接。

其他选项都是可选的(当然也很重要)!