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

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

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

会有什么问题呢?


当前回答

我今天遇到了类似的问题。尝试了以上所有的解决方案,但都没有效果。把我的解写在这里。

在恢复之前,不要忘记取消选择尾长备份

希望它也能帮助到其他人!

其他回答

我确定这个问题与文件和文件夹权限有关。

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

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

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

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

4)选择“。bak”文件

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

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

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

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

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

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

Fabio

我试图将一个生产数据库恢复到同一台服务器上的一个登台数据库。

在我的案例中,唯一有效的是恢复到一个新的空白数据库。这工作得很好,没有尝试覆盖生产文件(如果您只是将生产备份文件恢复到现有的登台数据库,则会覆盖生产文件)。然后删除旧数据库并重命名-文件将保留新的临时名称,但在我的情况下,这是好的。

(或者先删除暂存数据库,然后恢复到与暂存数据库同名的新数据库)

我也有同样的问题,但在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。完成后,不要忘记将执行策略设置为受限。