Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベース・パフォーマンスのモニタリングと改善 » データベース・パフォーマンスの改善 » 診断トレーシングを使用した詳細なアプリケーション・プロファイリング

 

診断トレーシングのスコープ

次は、診断トレーシングの「スコープ」のリストです。スコープの値を使用すると、データベース内のアクティビティの特定の発生元だけをトレースできます。たとえば、特定の接続からの要求をトレースするようにスコープを設定できます。スコープの値は、dbo.sa_diagnostic_tracing_level 診断テーブルの scope カラムに格納されます。また、対応する引数 (通常はオブジェクト名やユーザ名などの識別子) が identifier カラムに格納されていることがあります。スコープ・カラムの値は、データベース・トレーシング・ウィザードで指定される設定を反映しています。

scope カラムの値 説明
DATABASE

データベース内で発生し、指定するレベルと条件に対応するすべてのイベントのトレーシング・データを記録します。高コストのクエリのソースを判断するために、バックグラウンドでのデータベースの長期のモニタリングや、短期の診断に使用します。

DATABASE を指定するときに指定する識別子はありません。

ORIGIN

データベースの外部または内部から発生するクエリのトレーシング・データを記録します。

スコープ ORIGIN を指定するときは、External または Internal のいずれかの識別子を指定できます。External は、データベース・サーバ外で発生し、指定するレベルと条件に対応するクエリの文のテキストと関連する詳細情報のログを取るように指定します。Internal は、データベース・サーバ内で発生し、指定するレベルと条件に対応するクエリに関する同じ情報のログを取るように指定します。

USER

指定したユーザと、指定したユーザが作成した接続から発行されたクエリだけのトレーシング・データを記録します。特定のユーザに関連する問題のあるクエリを診断するために使用します。

このスコープの識別子は、トレースを行うユーザの名前です。

CONNECTION_NAME または CONNECTION_NUMBER

現在の接続で実行された文のトレーシング・データだけを記録します。これらのスコープは、ユーザに複数の接続があり、その 1 つで高コストの文が実行されている場合に使用します。

このスコープの識別子は、それぞれ接続の名前または接続番号です。

FUNCTION、PROCEDURE、EVENT、TRIGGER、または TABLE

指定するオブジェクトを使用する文のトレーシング・データが記録されます。オブジェクトが他のオブジェクトを参照する場合、参照先オブジェクトのデータもすべて記録されます。たとえば、イベントをトリガする関数を使用するプロシージャのトレースを行っている場合、3 つのオブジェクトで、指定するレベルと条件に対応する文のログが取られます。特定のオブジェクトのコストが高い場合や、オブジェクトを参照する文が完了するまでの時間が異常に長い場合に使用します。

TABLE スコープは、テーブル、マテリアライズド・ビュー、非マテリアライズド・ビューに使用します。

このスコープの識別子は、オブジェクトの完全に修飾された名前です。

参照