我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
我试图恢复我的数据库的SQL Server备份文件,但它抛出一个错误如下:
备份集保存现有数据库以外的数据库的备份
我的数据库是SQL Server 2008,备份文件是2005年的。
会有什么问题呢?
当前回答
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';
其他回答
有些人把这个问题看得太复杂了。我发现这非常简单。
1)创建一个与你的.bak文件数据库名称相同的数据库
2)右键单击数据库| Tasks >恢复>数据库
3)在“还原源”下选择“从设备”
4)选择“。bak”文件
5)在下面的网格视图中选中数据库对应的复选框
6)在右侧的“选择页面”下选择“选项”
7)选中“保留复制设置(WITH KEEP_REPLICATION)”复选框
现在返回到General页面,单击OK恢复数据库…就是这样。
:
1)在使用RESTORE命令时使用WITH REPLACE(如果使用GUI,则在Options ->覆盖现有数据库(WITH REPLACE))。
2)删除冲突的旧数据库,使用restore命令重新恢复。
查看链接了解更多细节。
简单3步:
1-右键单击数据库→任务→恢复→数据库
2-检查设备作为源,并找到。bak(或压缩。bak)文件
3-在左侧窗格单击选项和:
check覆盖现有数据库。 恢复前进行尾日志备份 关闭到目标数据库的现有连接。
其他选项都是可选的(当然也很重要)!
同样重要的是,要确保您的数据库名称与您试图恢复的备份中的数据库名称相匹配。如果不匹配,则会得到相同的错误。
我必须在我的本地创建新的db进行测试,并且我的prod有备份。我先创建了db,并尝试在新db上运行BAK,这为我产生了这个错误。我删除了db并恢复它,同时在恢复屏幕本身提供新的db名称。恢复时自动创建db。