加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:36:30 所属栏目:MsSql教程 来源:网络整理
导读:我有一个SQL Server [2012 Express with Advanced Services]数据库,其中没有太多.我正在使用EF Code First开发应用程序,并且由于我的模型仍然处于通量状态,数据库每天被丢弃并重新创建几次. 今天早上,我的应用程序第一次运行时无法连接到数据库.在调查中,似乎
我有一个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(产品支持).他们有办法指导你进行调查.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读