SE の雑記

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

待ち事象の取捨選択の基本について

leave a comment

SQL Server では待ち事象の情報を DMV (動的管理ビュー) から取得することができます。
この待ち自称ですが投稿を書いている時点の最新の SQL Server 2012 の sys.dm_os_wait_stas では 649 の待ち事象が存在しています。

この待ち事象の取捨選択方法について簡単にではありますがまとめてみたいと思います。

待ち事象は SQL Server のサービスが起動してからの累計地となります。
[DBCC SQLPERF(N'<待ち事象の DMV>’, CLEAR)] を実行することでサービスを再起動しなくても初期化をすることができます。

image

初期化をすると待ち事象が 0 でクリアされます。

この待ち自称ですが、常に発生している待機系のものは常にカウントアップされています。
このような何もしていなくても発生しているような待ちに関しては待ち事象の発生回数 (waiting_tasks_count) や待ち時間 (wait_time_ms) の降順で並び替えたときに上位に来ることが多いです。

これらの待ち事象は待ちの発生状況の多いもので並び替えたときに除外してみると不要な情報を省くことができます。

どのようにして取捨選択をするかというと、何も負荷がかかっていない状態で待ち事象の初期化をし、そのあと少し放置した後に待ち事象の発生状況の降順に並べ替えて上位に来るもので判断をします。
image

何もしていなくても待ち事象がカウントアップされているものは常に待ち事象が発生しているものになりますので、待ち事象の確認をする時に省いても問題ないものとなります。

待ち事象を確認する DMV としては、

がありますのでこれらの DMV を初期化した後に並び替えてどれが不要になるかを把握しておくと待ち事象を使用した情報の整理の時に役に立つと思います。

Share

Written by Masayuki.Ozawa

3月 17th, 2013 at 10:35 pm

Posted in SQL Server

Tagged with

Leave a Reply