我目前遇到一个问题,SQL Server 数据库每天早上都处于“恢复挂起”状态。没有人启动数据库恢复,服务器自己决定这样做。
恢复过程卡住,SQL Server 停止工作,因为达到了内存限制。
暂时,我可以通过重新启动MSSQLSERVER
进程然后使数据库脱机并重新联机来解决它。但是,由于这种情况现在似乎每天都在发生,因此这是一种不可接受的解决方法。
我很想知道:
- SQL Server 自动启动这种自动还原过程的可能原因是什么
- 是否有任何日志/事件我可以寻找,找出原因。
- 我该如何解决它:)
任何帮助或提示将不胜感激。
更新:数据库在 中recovery pending
,而不是在restore pending
. SSMS 以德语安装,并没有显示英语状态。
我有一种感觉,你真正 拥有的是“恢复挂起”而不是“恢复挂起”。如果您查看 sys.databases 的文档,即 state 列,您将看到没有称为“restore pending”的状态。所以,我会假设它确实是下面的“恢复待定”。如果还有其他问题,请告诉我们,显示它在 SSMS 对象资源管理器中的样子以及来自 sys.databases 的状态列。
恢复挂起意味着 SQL 服务器无法在数据库启动时进行恢复。请注意,数据库的启动可能发生在 SQL Server 启动之外。将自动关闭数据库选项设置为 true 就是这样一种情况。
无论如何,只要恢复不可行,数据库就会进入恢复挂起状态。但是 SQL 服务器会在错误日志文件中记录原因。所以你的任务是找出这些错误信息并采取行动。我的猜测是任何数据库文件都被其他一些进程(防病毒、快照等)使用。但稍后,SQL Server 可以访问这些文件。