SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

sys.dm_os_ring_buffers についてのメモ

leave a comment

New Relic のプラグインのクエリを見ていて「sys.dm_os_ring_buffers」が便利そうでしたので情報を少しメモしておきたいと思います。

OS 系の DMV については、SQL Server オペレーティング システム関連の動的管理ビュー (Transact-SQL) に書かれていますが、sys.dm_os_ring_buffers については、内部情報の扱いとなり情報の公開が行われていません。

海外のブログではいくつか紹介されていますので、英語の情報を探すとよさそうですね。

Using sys.dm_os_ring_buffers To Diagnose Memory Issues in SQL Server
Inside sys.dm_os_ring_buffers
Using sys.dm_os_ring_buffers to Troubleshoot Connectivity Issues
Monitoring and Troubleshooting using sys.dm_os_ring_buffers

 

この DMV ではいくつかのリソースモニターの情報も取得されており、以下のようなクエリで取得できます。

SELECT
	DATEADD (ms, -1 * (si.ms_ticks - [timestamp]), GETDATE()) AS time,
	ring_buffer_type,
	CONVERT(xml, record) AS record
FROM
	sys.dm_os_ring_buffers
	CROSS JOIN
	sys.dm_os_sys_info si
WHERE
	ring_buffer_type LIKE '%MONITOR%'
ORDER BY
	ring_buffer_type, time DESC

 

リングバッファですので、サービスの再起動やある程度のサイズになるとデータはなくなりますが、直近の状態としてどうだったのかを確認するには有効に使えそうですね。

Share

Written by Masayuki.Ozawa

6月 21st, 2015 at 9:14 pm

Leave a Reply