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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » パフォーマンスの向上、診断、モニタリング » パフォーマンスのモニタリングと診断のツール » 診断トレーシング

 

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

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

scope カラムの値 説明
DATABASE

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

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

ORIGIN

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

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

USER

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

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

CONNECTION_NAME または CONNECTION_NUMBER

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

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

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

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

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

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

 参照