合 MSSQL扩展事件之system_health会话
Tags: MSSQLSQL Server整理自网络system_health扩展事件
简介
system_health
会话是 SQL Server 和 Azure SQL 托管实例默认包含的扩展事件会话。 该会话在数据库引擎启动时自动启动,并且运行时不会带来任何明显的性能开销。 该会话收集的系统数据可用于帮助对数据库引擎的性能问题进行故障排除。
重要
建议不要停止、更改或删除 system_health
会话。 将来的产品更新可能会覆盖对 system_health
会话设置所做的任何更改。
该会话收集的信息包括:
- 发生严重性 > =20 的错误的任何会话的
sql_text
和session_id
。 - 发生内存相关错误的任何会话的
sql_text
和session_id
。 这些错误包括 17803、701、802、8645、8651、8657 和 8902。 - 任何无法完成的计划程序问题的记录。 这些问题在 SQL Server 错误日志中显示为错误 17883。
- 检测到的任何死锁,包括死锁图形。
- 等待闩锁(或其他相关资源)时间 > 15 秒的任何会话的
callstack
、sql_text
和session_id
。 - 等待锁(或其他相关资源)时间 > 30 秒的任何会话的
callstack
、sql_text
和session_id
。 - 为获得“抢先等待”(或其他相关资源)而等待时间很长的任何会话的
callstack
、sql_text
和session_id
。 持续时间因等待类型而异。 在抢先等待中,SQL Server 等待的是外部 API 调用。 - CLR 分配失败和虚拟分配失败的
callstack
和session_id
。 - 有关内存代理、计划程序监视、内存节点 OOM、安全性和连接的环形缓冲区事件。
- 来自
sp_server_diagnostics
的系统组件结果。 scheduler_monitor_system_health_ring_buffer_recorded
收集的实例运行状况。- CLR 分配失败。
- 使用
connectivity_ring_buffer_recorded
的连接性错误。 使用
security_error_ring_buffer_recorded
的安全错误。备注
有关死锁的详细信息,请参阅《死锁指南》。 有关 SQL 错误消息的详细信息,请参阅数据库引擎事件和错误。