迁移的 SQL Server 数据库突然处于“正在恢复”状态

迁移的 SQL Server 数据库突然处于“正在恢复”状态

编辑:这仍然是一个实际问题,在尝试恢复...使用恢复后不到一小时。

我备份了 SQL Server 2005 数据库并将其还原到新的 SQL 2008 实例。还原过程快速成功。大约一个小时后一切都很顺利。

突然,数据库现在在 Management Studio 中卡在“(正在恢复...)”状态并带有绿色箭头图标,并且我的应用程序登录失败!

有什么建议吗?:-)

编辑:这是一个实时应用程序。如果我删除并重试,一小时左右的数据将会丢失。

答案1

这可能由多种原因造成,但您可以尝试以下方法。尝试运行以下命令:

RESTORE DATABASE <database name> WITH RECOVERY 

如果这不起作用,您可以尝试删除数据库并再次恢复。

答案2

这是一个不太可能的猜测,但它可能是具有相当大日志的自动关闭数据库。自动关闭数据库在不再使用时会自动关闭。默认情况下,Express 版本将数据库创建为自动关闭。打开数据库时,它会运行恢复,如果日志非常大并且没有任何最近的检查点,则恢复可能会持续一段时间,足够长的时间在服务器资源管理器或 SSMS 中可见。自动关闭数据库确实具有一些优化可以实现“快速”启动,但可能会因某些特殊情况而误认为进行了完全恢复。

为了验证,请检查数据库的自动关闭状态是否系统数据库

否则,请检查 ERRORLOG 和/或系统事件日志,查找可以指出数据库为何需要恢复的消息。

答案3

检查维护计划下的备份作业中的选项进行尾部日志备份并使数据库保持恢复状态。要克服这个问题,请禁用上述选项并针对每个受影响的数据库运行以下查询使用恢复功能恢复数据库 DB_NAME;

在您的情况下可能会发生这种情况,意外地标记了此选项,因为对于此选项,不需要将鼠标放在复选框下方来激活它,错误地单击到附近使其激活。因此,当运行此作业时,它会进行尾部日志备份并将数据库置于恢复状态。

相关内容