微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – 为什么SQL Server在事件日志中说“启动数据库”,每秒两次?

我有一个sql Server [2012 Express with Advanced Services]数据库,其中没有太多.我正在使用EF Code First开发应用程序,并且由于我的模型仍然处于通量状态,数据库每天被丢弃并重新创建几次.

今天早上,我的应用程序第一次运行时无法连接到数据库.在调查中,似乎数据库处于“Recovery Pending”模式.

查看事件日志,我可以看到sql Server已经记录:

Starting up database (my database)

大概每秒钟大约两次. (事件日志已经填满了,所以昨天晚上我看不到).

这些“信息”日志条目在今天早上6点左右停止,紧接着是一个错误”日志条目,说:

There is insufficient memory in resource pool ‘internal’ to run this query

我的数据库发生了什么事?

注意:我可以将网络应用程序在“调试”模式下运行一夜之间 – 尽管没有任何人“开车”,我无法想像会有太多的数据库流量(如果有的话).

还值得一提的是,我在数据库中有一个全文目录(虽然如我所说,目前DB几乎没有任何实际的内容).

我不得不说,这是令人担忧的 – 如果这是发生在我的生产数据库,我不会高兴!

解决方法

使用AUTO_CLOSE ON时,一旦与其建立连接,数据库将立即关闭,并且每次建立连接时,重新打开(运行恢复,尽管是快节奏的).所以你看到这个消息,因为你的应用程序每2秒会连接到数据库.你可能总是有这种行为,从来没有注意过.现在你的数据库崩溃了,你调查了日志并发现了这个问题.虽然现在你知道并且很可能会解决它,但这并不能解决你真正的问题,即数据库的可用性.

所以现在你有一个数据库不会出现恢复,你做什么?您从上次备份还原并应用您的disaster recovery plan.真的,这就是它的一切.而别无选择.

如果你想了解为什么崩溃发生了(可能是大概1个原因),那么你需要联系CSS(产品支持).他们有办法指导你进行调查.

原文地址:https://www.jb51.cc/mssql/81966.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐