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

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

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

会有什么问题呢?


当前回答

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

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

Fabio

其他回答

通常处理.bak文件会让人头疼,一种更直接的方法是使用sqldump文件来传输数据库。

生成要移动或复制的当前数据库的脚本。 选择All Tables,而不是整个数据库。 从选项菜单中选择另存为脚本,然后单击高级按钮并设置以下配置(我正在起诉MSSQL 2016): 现在,在你想导入这些数据的地方,创建一个新数据库,切换到这个新数据库(我的意思是设置为默认值) 最后运行脚本,将导入所有表和数据。

祝你好运。

列表项

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

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

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

我必须在我的本地创建新的db进行测试,并且我的prod有备份。我先创建了db,并尝试在新db上运行BAK,这为我产生了这个错误。我删除了db并恢复它,同时在恢复屏幕本身提供新的db名称。恢复时自动创建db。

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

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

因此:

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

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

我只是想解决这个问题。

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

希望这能帮助到其他人。