我有两个备份文件(MS SQL SERVER) 1)Demo.bak 2)DemoDiff.bak
我想恢复Base数据库(Demo.bak)然后恢复差异备份(DemoDiff.bak)。 因为我需要恢复差异数据库,所以我必须使用NORECOVERY选项恢复我的基础数据库。但是,当我使用NORECOVERY选项进行恢复时,数据库状态显示为'正在恢复'很长一段时间(实际上它只有3519 KB大小)。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
RESTORING是使用NORECOVERY进行RESTORE后数据库的预期状态。然后,您可以应用事务日志备份或差异备份。
恢复将数据库从RESTORING转移到ONLINE。
答案 1 :(得分:0)
您可以还原日志文件,直到数据库没有恢复模式。如果数据库已恢复,它将处于运行状态,并且可以继续数据库操作。如果数据库有另一个操作,我们无法恢复日志,因为数据库恢复后日志文件链是没有意义的。这就是为什么数据库在恢复时必须是norecovery状态的原因。
有三种不同的方法可以恢复数据库。
1)使用以下命令手动恢复数据库。
RESTORE DATABASE database_name WITH RECOVERY
2)使用上一个日志文件恢复数据库。
RESTORE LOG database_name FROM backup_device WITH RECOVERY
3)恢复bak时恢复数据库
RESTORE DATABASE database_name FROM backup_device WITH RECOVERY