已解决:svchost 数据库引擎已停止 已启动5分钟反复出现,MSSQL无法连接

(编辑:jimmy 日期: 2024/11/1 浏览:2)

日期2012-09-29 21:36:09日志 Windows NT (Application)源 ESENT 类别 常规事件 100 计算机 TDTSERVER消息 svchost (920) 数据库引擎 5.02.3790.3959 已启动。日期2012-09-29 20:30:09
日志 Windows NT (Application)
源 ESENT 类别 常规
事件 101 计算机 TDTSERVER
消息 svchost (920) 数据库引擎已停止。

以上信息日志5分钟频繁反复出现,在SERVICES.MSC中打开服务,显示SQL SERVER在运行中,但MSSQL无法连接。
请教如何解决?

在百度上搜索,有说是因为使用360安全卫士进行系统优化过度,对Remote Access Connection Manager和Telephony进行了禁止,恢复两个服务之后,以上问题不再出现。但经测试,这个方法不能解决问题。

还有的说是因为360杀毒或者360安全卫士的文件防护功能导致svhost进程终止,经测试,关闭360杀毒和关闭360安全卫士,并不能解决svhost循环启动、停止的问题。

事件日志中,没5分钟准时出现停止,这必然和某种有时钟管理的应用有关。
windows2003中,和时钟有关的,也就是SQL SERVER MANAGEMENT STUDIO里的任务管理和计算机任务管理以及IIS中的时钟设置了。

经检查,前两者并没有进行5分钟间隔的设置。
在排查IIS设置中发现,有几个asp+mssql框架的网站,IIS设置中,启用了应用程序池属性>运行状况>“启用快速失败保护”的功能(如果在指定时间段内发现指派给应用程序池的太多工作进程运行不正常,快速失败保护将停止该应用程序池。)。时间段(分钟)的属性值正是5分钟。

将这两个IIS站点应用程序池的运行状况属性之启用快速失败保护功能关闭,重启服务器,发现此问题不再出现。

总结:应该是某个IIS站点出现错误,导致SVHOST关闭,从而造成数据库进程关闭。