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

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

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

会有什么问题呢?


当前回答

这帮助我从系统驱动器导入备份文件

Create a database with the same name(preferably) as your .bak file database name Right click the database > Tasks > Restore > Database Under "Source for restore" select "From Device" Select the .bak file selecting the path from the system Select the check box for the database in the list box below Under "Select a Page" on the right Select "Options" Select the checkbox labeled "Preserve the replication settings(WITH KEEP_REPLICATION) Select the checkbox for Overwrite the existing database(WITH REPLACE) Now Go back to the General page and click OK to restore the database...

其他回答

:

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

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

查看链接了解更多细节。

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

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

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

就是这样

我也遇到过这个问题。

解决方案:

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

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

简单3步:

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

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

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

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

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