我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
当前回答
:
1)在使用RESTORE命令时使用WITH REPLACE(如果使用GUI,则在Options ->覆盖现有数据库(WITH REPLACE))。
2)删除冲突的旧数据库,使用restore命令重新恢复。
查看链接了解更多细节。
其他回答
您可以恢复到一个新的数据库,验证文件名语法,它将在日志文件中,对于新的SQL版本将是“_log”后缀
AD检查覆盖现有的数据库标志在选项卡
Fabio
我今天遇到了类似的问题。尝试了以上所有的解决方案,但都没有效果。把我的解写在这里。
在恢复之前,不要忘记取消选择尾长备份
希望它也能帮助到其他人!
USE [master];
GO
CREATE DATABASE db;
GO
CREATE DATABASE db2;
GO
BACKUP DATABASE db TO DISK = 'c:\temp\db.bak' WITH INIT, COMPRESSION;
GO
RESTORE DATABASE db2
FROM DISK = 'c:\temp\db.bak'
WITH REPLACE,
MOVE 'db' TO 'c:\temp\db2.mdf',
MOVE 'db_log' TO 'c:\temp\db2.ldf';
通常处理.bak文件会让人头疼,一种更直接的方法是使用sqldump文件来传输数据库。
生成要移动或复制的当前数据库的脚本。 选择All Tables,而不是整个数据库。 从选项菜单中选择另存为脚本,然后单击高级按钮并设置以下配置(我正在起诉MSSQL 2016): 现在,在你想导入这些数据的地方,创建一个新数据库,切换到这个新数据库(我的意思是设置为默认值) 最后运行脚本,将导入所有表和数据。
祝你好运。
列表项
我必须在我的本地创建新的db进行测试,并且我的prod有备份。我先创建了db,并尝试在新db上运行BAK,这为我产生了这个错误。我删除了db并恢复它,同时在恢复屏幕本身提供新的db名称。恢复时自动创建db。