Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

「SQLプロファイラ」は、SQL Serverインスタンス上で実行中のクエリを収集(トレース)できる。

この機能は、次のような多くの場面で活用できる。

ここでは、SQLプロファイラ(SQLトレース)で取得する

のベターユースを示す。

無駄なデータが混入する場合は、
個別にフィルタ設定を検討する。

SQL Serverの利用状況の監視

取得するイベント クラス

取得するデータ列

問題となるクエリやイベントの検索方法

ユーザが、ユーザのアカウントでDBに直接ログインする場合、
サーバにログインしたユーザと、サーバからログオフしたユーザを、
次のデータ列から確認できる。

性能が悪いクエリの検索

取得するイベント クラス

取得するデータ列

問題となるクエリやイベントの検索方法

「Duration」データ列は、クエリ全体が完了するまでにかかった時間を示す。

スキャンを発生させるクエリの検索

が検出された場合は、 インデックスが正しく利用されていない可能性があり、
性能的に問題になることが多い。

は、テーブルやインデックスをロックするため、
ロックタイムアウト、デッドロックの原因にもなる。

取得するイベント クラス

取得するデータ列

問題となるクエリやイベントの検索方法

ロックを発生させるクエリ、ロックによりブロッキングされるクエリの検索

SQL Serverは、Oracleと比べた場合、
トランザクションの分離戦略の違いから、
ブロッキングによる問題が発生することが多く、

対策の際に

の確認が必要になること多い。

取得するイベント クラス

クエリ開始のイベントクラス

クエリ完了のイベントクラス

ロックのイベントクラス

トランザクションのイベントクラス

取得するデータ列

問題となるクエリやイベントの検索方法

ロックタイムアウトの検索

デッドロックの検索

新しい情報を見ると、Deadlock Graphというイベント クラスがサポートされ、
それをトレースに追加することで、デッドロックが分析できるようになっている模様。

以下、古い情報。

ロックのエスカレーション」の検索

の原因にもなる。

参考


Tags: :データアクセス, :SQL Server, :障害対応, :性能, :デバッグ


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS