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

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

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

会有什么问题呢?


当前回答

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

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

祝你好运。

列表项

其他回答

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

:

1)在使用RESTORE命令时使用WITH REPLACE(如果使用GUI,则在Options ->覆盖现有数据库(WITH REPLACE))。

2)删除冲突的旧数据库,使用restore命令重新恢复。

查看链接了解更多细节。

同样重要的是,要确保您的数据库名称与您试图恢复的备份中的数据库名称相匹配。如果不匹配,则会得到相同的错误。

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

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

祝你好运。

列表项

首先创建一个同名的空白数据库。然后选择恢复选项

在左侧窗格的选项下,不要忘记选择

覆盖现有数据库 保留复制设置

就是这样