SQLキャッチとは、データベース内でどのような SQL 文が実行されているのかを監視する機能です。
SQLキャッチを使用する事で、実際に発行されている SQL 文の頻度や実行コストが確認できますので、インデックスの追加やボトルネックとなっている SQL 文の構文見直しの作業を支援する事が可能になります。
※Azure SQL Databaseに接続している場合、この機能を使用することはできません。
※Amazon RDS for SQL Serverに接続している場合、この機能を使用することはできません。
■ 実行手順
①[開始]ボタンを押し、データベーストレース/セッショントレースの開始を行います。
②トレース開始後、SQL Server は SQL が実行される度にその内容をトレースファイルに書き出すようになります。
③[表示]ボタンを押すと、SI Object Browser は SQL Server が発行したトレースファイルの内容を確認し、整形結果を画面下段に表示します。
(初回実行時はトレースログのフォルダ選択が必要になります→後述)
④必要な結果が取得出来次第、[停止]ボタンを押してトレースを終了させます。
手順③の部分はトレースファイルが有効な間は何度でも実行できます。また、トレースログ自体はトレース終了後にも残りますので、トレースを終了させた後でも情報の表示は可能です。
■ トレースフォルダの選択
初回実行時や、トレースログフォルダが見つからない場合、SI Object Browser はトレースログの格納先を指定するダイアログを表示します。
実行環境により設定する手順が異なりますので注意して下さい。
①SQL Serverと SI Object Browser が同一マシン上で動作している場合
任意のトレースログフォルダを指定します。
②SQL Serverと SI Object Browser が別マシン上で動作している場合
SI Object Browser が動作しているマシン(以下クライアント)上の任意のトレースログフォルダを指定します。
次にSQL Serverが動作するマシン上にクライアント上で指定したトレースログフォルダと同じ構成となるようにフォルダを構成してください。
また、SQL Serverが動作するマシン上にトレースファイルが作成されるので、これをクライアントの指定フォルダにコピーしてください。
つまり、SQL Serverが動作するマシン上とクライアント上で同フォルダ、ファイル構成とすることで機能を実行することが出来ます。
※トレースフォルダを途中で変更したい場合
トップメニューから[SQLキャッチ]→[トレースフォルダ選択]でフォルダの変更が出来ます。
■ 画面の説明
| 項目名 | 説明 | |
|---|---|---|
| 開始 | トレースを開始します。 「ロック情報を含める」のチェックをONにすると、ロック情報の[統計解析]タブで統計情報を参照することが可能になります。 |
|
| 停止 | トレース実行画面を開き、トレースを終了します。 | |
| 表示 | トレース結果を元に、画面下段に情報を整形出力します。 | |
| 選択 | トレースフォルダを変更します。 このボタンでの設定内容は、テーブルアクセス表、ロック情報と共有されます。 |
|
| 出力 | ボタン押下時に下記のメニューがプルダウン表示されます。 (結果表示が完了している場合のみ有効です) Excel出力… テーブルアクセス表の結果を、Microsoft Excel ファイルに出力します。 クリップボード出力… SQLキャッチの結果を、クリップボードに出力します。 |
|
| 終了 | 画面を閉じます。 | |
| 対象トレースファイル更新日時 | ここで指定した日付以降のタイムスタンプを持つトレースログが結果リストの表示対象となります。 デフォルト値として現在日付の 0 時がセットされますので、前日のログを対象としたい場合等は値を変更します。 ※トレースログ自体は、ユーザーが意図的に削除しない限りサーバー上に蓄積されていきます。 過去日を指定する場合は、事前に対象とりうるトレースログの容量を確認してください。 |
|
| 「sp_executesql」の場合SQL文だけを表示 | TextData列に「sp_executesql」で実行されたSQLが格納されている場合、SQL部分だけを抜き出して表示します。 例) exec sp_executesql N'select getdate()' が格納されている場合、select getdate() が表示されます。 |
|
| 結果リスト | トレースログを元に、発行された SQL 文とそのコストを一覧表示します。 各欄の値の意味は以下の通りです。 ([同一SQLの結果をまとめる]をチェックした場合、各値は1実行フェーズあたりの平均値となります) 実行結果を選択し、ポップアップメニューを表示させることで、その SQL 文に対する詳細情報が確認できます。 実行計画… 選択した SQL 文の実行計画を表示します。 SQL文をコピー… 選択した SQL 文をクリップボードにコピーします。 |