在过去的一个月中,我的一台服务器遇到了SQL Server代理问题。它会自动停止并显示以下错误,该错误随机发生:
SQL代理输出文件
[097]检测到内存泄漏[204字节]
在文件e:\ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cpp的第403行捕获到异常5。SQLServerAgent启动自我终止
我用谷歌搜索了这个错误,但是没有得到太多的信息。SQL Server和代理都使用相同的域帐户运行。但是,问题仅在于SQL Server代理服务。
我也无法在SQL Server配置管理器中看到SQL Server代理服务。我检查了SQL Server错误日志和Windows Event Viewer日志,但没有看到任何可疑活动。
我的内存设置配置正确。该服务器具有32GB RAM,并且SQL Server已分配为使用最大26GB的内存。
系统细节:
- SQL Server 2012 SP2标准版11.0.5058 64位
- Windows Server 2008 R2 Ent Edition 64位
- 专用于SQL Server(服务器上没有其他运行的应用程序)
- 几个月前,服务器已从SQL Server 2005 EE升级到2012 SE。
- 我们没有使用事件转发服务器。
我也检查了msdb数据库。对它运行checkdb,它成功完成,没有任何错误。我需要您的帮助来解决两件事:
- 修复SQL Server代理服务的随机停止
- 在SQL Server配置管理器中添加SQL Server代理服务
我们有用于监视的第三方软件,因此如果代理服务停止,我们会立即得到通知。目前,我们只是重新启动服务。但是我们想找到根本原因。
我运行了Sean Gallardy建议的以下查询,并返回了95行。我不知道如何解释结果。
select *
from sys.dm_os_loaded_modules
where name not like '%microsoft%'
不幸的是,出于安全原因,我无法发布结果。
在找到解决此问题的方法之前,我已经向SQL Server代理添加了重试尝试,以便它在停止时可以自动重新启动。