【监控笔记】【2.4】SQL Server中的 Ring Buffer 诊断各种系统资源压力情况

SQL Server 操作系统(SQLOS)负责管理特定于SQL Server的操作系统资源。

其中相关的动态管理试图sys.dm_os_ring_buffers将被标识为仅供参考。不提供支持。不保证以后的兼容性。

【0】概念说明

  参考:http://bbs.elecfans.com/jishu_1590647_1_1.html

【1】类型说明

先看看记录的不同的Ring Buffer类型。

select distinct ring_buffer_type from sys.dm_os_ring_buffers

  

  

每个类型都记录了大量的XML格式的记录。这些Ring Buffer记录包含了最小的系统输出,用于帮助分析状态的变化提供更好的思路。

RING_BUFFER_RESOURCE_MONITOR - 监控资源的使用情况,可以提供分析物理内存压力的信息。

RING_BUFFER_SCHEDULER_MONITOR  - 监控逻辑调度器的状态,以及健康的记录类型。

RING_BUFFER_MEMORY_BROKER  - 监控用于平衡缓存之间的内存分配的内部内存代理的行为。

RING_BUFFER_SECURITY_ERROR  - 安全相关的错误信息。例如:登录失败可能会有更详细的关于操作系统错误代码。

RING_BUFFER_SCHEDULER - 实际的调度器活动,像上下文切换。你可以从入口重新构建执行顺序。

RING_BUFFER_EXCEPTION - 服务器发出的任何异常。SQL内部抛出错误,因此你也可以看到SQL错误。

RING_BUFFER_CONNECTIVITY -关键连接信息,对于跟踪连接失败非常有用。

【2】Ring buffer connectivity 的深入理解

【2.1】查看类型内容  

select *,cast(record as xml) from sys.dm_os_ring_buffers
where ring_buffer_type='ring_buffer_connectivity'

  

【2.2】查看xml具体内容

  打开xml查看,有很多有用信息,如state,remote-host,关注一下RecordType

   

  RecordType包含如下值:

    Error -- 连接错误

    LoginTimers -- 连接超时

    ConnectionClose -- 终止进程

原文地址:https://www.cnblogs.com/gered/p/10973586.html