数据库状态显示为'正在恢复'很长一段时间我使用NORECOVERY选项

时间:2017-09-11 17:20:22

标签: sql sql-server database database-backups database-restore

我有两个备份文件(MS SQL SERVER) 1)Demo.bak 2)DemoDiff.bak

我想恢复Base数据库(Demo.bak)然后恢复差异备份(DemoDiff.bak)。 因为我需要恢复差异数据库,所以我必须使用NORECOVERY选项恢复我的基础数据库。但是,当我使用NORECOVERY选项进行恢复时,数据库状态显示为'正在恢复'很长一段时间(实际上它只有3519 KB大小)。

有人可以帮我解决这个问题吗?

2 个答案:

答案 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

相关问题