【SQL Server】【Tool】SQL Server の調査ツール [0] ~ 概要 ~

概要

 やみくもにパフォーマンス改善を行うのではなく、ボトルネックとなっている箇所を調べ、その箇所に対して改善することが重要である。
SQL Serverにおいて、その「ボトルネックとなっている箇所を調べ」るためのツールについて調べたことを以下に記す。

以下が非常に参考になった。
http://www.unisys.co.jp/services/atlasbase/pdf/dbm_1007_gui.pdf

主な要因

[1] リソース不足
 →【改善策】メモリ増設、SQL文の改善(例:アクセスするデータ量の絞込み)など
[2] 非効率なクエリ
 →【改善策】インデックスの設定、SQL文の改善など
[3] 待機(待ち状態が起こっているなど)
 →【改善策】アプリケーションの見直しなど
http://blogs.msdn.com/b/jpsql/archive/2012/04/05/10291003.aspx

ツール

SQLプロファイラ

 * 実行したクエリの実行状態を把握・・・「非効率なクエリ」の把握
 * 実行したクエリのロックの取得状況やデッドロック状況の確認・・・「待機」の把握

詳細は以下。
http://blogs.yahoo.co.jp/dk521123/27584078.html

動的管理ビュー

 * プロシージャー内の実行状況を把握・・・「非効率なクエリ」の把握
 * 待機の種類ごとの待機時間傾向分析およびロック待ちリソースの把握・・・「待機」の把握

参考文献

インデックス関連の動的管理ビューおよび関数
http://msdn.microsoft.com/ja-jp/library/ms187974.aspx

パフォーマンス・モニター

 * システムリソースの利用状況、SQL Serverの稼動状況の把握・・・「リソース不足」の把握
 * ロックの数やロック待ちの時間の傾向の把握・・・「待機」の把握

参考文献

http://hehao1.seesaa.net/article/7017279.html
http://hehao1.seesaa.net/article/7017299.html

Management Studio

 * クエリの実行状態の把握および実行プランの表示・・・「非効率なクエリ」の把握

実行プランの分析の詳細については、以下。

参考文献

パフォーマンス データ コレクション機能について
http://d.hatena.ne.jp/matu_tak/20100224/1267126594