Performance Statistics イベント クラス
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
Performance Statistics イベント クラスは、実行中のクエリ、ストアド プロシージャ、およびトリガーのパフォーマンスを監視するために使用できます。 6 個のイベント サブクラスがあり、それぞれがシステム内のクエリ、ストアド プロシージャ、およびトリガーの有効期間内のイベントを示します。 これらのイベント サブクラスを、関連する sys.dm_exec_query_stats、sys.dm_exec_procedure_stats、および sys.dm_exec_trigger_stats 動的管理ビューと組み合わせて使用することで、クエリ、ストアド プロシージャ、トリガーのパフォーマンス履歴を再構成できます。
Performance Statistics イベント クラスのデータ列
次の表では、EventSubClass 0、EventSubClass 1、EventSubClass 2、EventSubClass 3、EventSubClass 4、および EventSubClass 5 の各イベント サブクラスに関連するイベント クラスのデータ列について説明します。
EventSubclass 0
データ列名 | データの種類 | 説明 | 列 ID | フィルター可能 |
---|---|---|---|---|
BigintData1 | bigint | NULL | 52 | はい |
BinaryData | image | NULL | 2 | はい |
DatabaseID | int | USE database ステートメントで指定されたデータベースの ID、または特定のインスタンスについて USE database ステートメントが実行されていない場合は既定の database となります。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 | 3 | はい |
EventSequence | int | 要求内の特定のイベントのシーケンス。 | 51 | いいえ |
EventSubClass | int | イベント サブクラスの種類。 0 = 現在キャッシュ内にない新しいバッチ SQL テキスト。 アドホック バッチのトレースで、次の種類の EventSubClass が生成されます。 n 個のクエリを持つアドホック バッチでは、次のようになります。 種類 0 が 1 個 |
21 | はい |
IntegerData2 | int | NULL | 55 | はい |
ObjectID | int | NULL | 22 | はい |
オフセット | int | NULL | 61 | はい |
PlanHandle | イメージ | NULL | 65 | はい |
SessionLoginName | nvarchar | セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Windows ログインの両方が表示されます。 | 64 | はい |
SPID | int | イベントが発生したセッションの ID。 | 12 | はい |
SqlHandle | image | sys.dm_exec_sql_text 動的管理ビューを使用してバッチ SQL テキストを取得するために使用できる SQL ハンドル。 | 63 | はい |
StartTime | datetime | イベントの開始時刻 (取得できた場合)。 | 14 | はい |
TextData | ntext | バッチの SQL テキスト。 | 1 | はい |
EventSubclass 1
データ列名 | データの種類 | 説明 | 列 ID | フィルター可能 |
---|---|---|---|---|
BigintData1 | bigint | このプランが再コンパイルされた累積回数。 | 52 | はい |
BinaryData | image | コンパイル済みプランのバイナリ XML。 | 2 | はい |
DatabaseID | int | USE database ステートメントで指定されたデータベースの ID、または特定のインスタンスについて USE database ステートメントが実行されていない場合は既定の database となります。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 | 3 | はい |
EventSequence | int | 要求内の特定のイベントのシーケンス。 | 51 | いいえ |
SessionLoginName | nvarchar | セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Windows ログインの両方が表示されます。 | 64 | はい |
EventSubClass | int | イベント サブクラスの種類。 1 = ストアド プロシージャ内のクエリがコンパイルされました。 ストアド プロシージャのトレースで、次の種類の EventSubClass が生成されます。 n 個のクエリを持つストアド プロシージャでは、次のようになります。 種類 1 がn 個 |
21 | はい |
IntegerData2 | int | ストアド プロシージャ内のステートメントの最後。 ストアド プロシージャの最後に達すると -1 になります。 |
55 | はい |
ObjectID | int | システムによって割り当てられたオブジェクト ID。 | 22 | はい |
オフセット | int | ストアド プロシージャ内またはバッチ内のステートメントの開始オフセット。 | 61 | はい |
SPID | int | イベントが発生したセッションの ID。 | 12 | はい |
SqlHandle | image | dm_exec_sql_text 動的管理ビューを使用してストアド プロシージャの SQL テキストを取得するために使用できる SQL ハンドル。 | 63 | はい |
StartTime | datetime | イベントの開始時刻 (取得できた場合)。 | 14 | はい |
TextData | ntext | NULL | 1 | はい |
PlanHandle | image | ストアド プロシージャのコンパイル済みプランのプラン ハンドル。 sys.dm_exec_query_plan 動的管理ビューを使用して XML プランを取得するために使用できます。 | 65 | はい |
ObjectType | int | イベントに関係するオブジェクトの種類を表す値。 8272 = ストアド プロシージャ |
28 | はい |
BigintData2 | bigint | コンパイル中に使用されたメモリの合計 (KB 単位)。 | 53 | はい |
CPU | int | コンパイル中に使用された CPU 時間の合計 (ミリ秒単位)。 | 18 | はい |
Duration | int | コンパイル中に使用された時間の合計 (マイクロ秒単位)。 | 13 | はい |
IntegerData | int | コンパイル済みプランのサイズ (KB 単位)。 | 25 | はい |
EventSubClass 2
データ列名 | データの種類 | 説明 | 列 ID | フィルター可能 |
---|---|---|---|---|
BigintData1 | bigint | このプランが再コンパイルされた累積回数。 | 52 | はい |
BinaryData | image | コンパイル済みプランのバイナリ XML。 | 2 | はい |
DatabaseID | int | USE database ステートメントで指定されたデータベースの ID、または特定のインスタンスについて USE database ステートメントが実行されていない場合は既定の database となります。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 | 3 | はい |
EventSequence | int | 要求内の特定のイベントのシーケンス。 | 51 | いいえ |
SessionLoginName | nvarchar | セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Windows ログインの両方が表示されます。 | 64 | はい |
EventSubClass | int | イベント サブクラスの種類。 2 = アドホック SQL ステートメント内のクエリがコンパイルされました。 アドホック バッチのトレースで、次の種類の EventSubClass が生成されます。 n 個のクエリを持つアドホック バッチでは、次のようになります。 種類 2 がn 個 |
21 | はい |
IntegerData2 | int | バッチ内のステートメントの最後。 バッチの最後に達すると -1 になります。 |
55 | はい |
ObjectID | int | 該当なし | 22 | はい |
オフセット | int | バッチ内のステートメントの開始オフセット。 バッチの開始時は 0 です。 |
61 | はい |
SPID | int | イベントが発生したセッションの ID。 | 12 | はい |
SqlHandle | image | SQL ハンドル。 dm_exec_sql_text 動的管理ビューを使用してバッチ SQL テキストを取得するために使用できます。 | 63 | はい |
StartTime | datetime | イベントの開始時刻 (取得できた場合)。 | 14 | はい |
TextData | ntext | NULL | 1 | はい |
PlanHandle | image | バッチのコンパイル済みプランのプラン ハンドル。 dm_exec_query_plan 動的管理ビューを使用してバッチ XML プランを取得するために使用できます。 | 65 | はい |
BigintData2 | bigint | コンパイル中に使用されたメモリの合計 (KB 単位)。 | 53 | はい |
CPU | int | コンパイル中に使用された CPU 時間の合計 (マイクロ秒単位)。 | 18 | はい |
Duration | int | コンパイル中に使用された時間の合計 (ミリ秒単位)。 | 13 | はい |
IntegerData | int | コンパイル済みプランのサイズ (KB 単位)。 | 25 | はい |
EventSubClass 3
データ列名 | データの種類 | 説明 | 列 ID | フィルター可能 |
---|---|---|---|---|
BigintData1 | bigint | このプランが再コンパイルされた累積回数。 | 52 | はい |
BinaryData | image | NULL | 2 | はい |
DatabaseID | int | USE database ステートメントで指定されたデータベースの ID、または特定のインスタンスについて USE database ステートメントが実行されていない場合は既定の database となります。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 | 3 | はい |
EventSequence | int | 要求内の特定のイベントのシーケンス。 | 51 | いいえ |
SessionLoginName | nvarchar | セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Windows ログインの両方が表示されます。 | 64 | はい |
EventSubClass | int | イベント サブクラスの種類。 3 = キャッシュされたクエリが破棄され、プランに関連付けられたパフォーマンス履歴データが破棄されようとしています。 トレースで、次の種類の EventSubClass が生成されます。 n 個のクエリを持つアドホック バッチでは、次のようになります。 クエリがキャッシュからフラッシュされるときは種類 3 が 1 個 n 個のクエリを持つストアド プロシージャでは、次のようになります。 クエリがキャッシュからフラッシュされるときは種類 3 が 1 個。 |
21 | はい |
IntegerData2 | int | ストアド プロシージャまたはバッチ内のステートメントの最後。 ストアド プロシージャまたはバッチの最後に達すると -1 になります。 |
55 | はい |
ObjectID | int | NULL | 22 | はい |
オフセット | int | ストアド プロシージャ内またはバッチ内のステートメントの開始オフセット。 ストアド プロシージャまたはバッチの開始時は 0 です。 |
61 | はい |
SPID | int | イベントが発生したセッションの ID。 | 12 | はい |
SqlHandle | image | dm_exec_sql_text 動的管理ビューを使用してストアド プロシージャまたはバッチ SQL テキストを取得するために使用できる SQL ハンドル。 | 63 | はい |
StartTime | datetime | イベントの開始時刻 (取得できた場合)。 | 14 | はい |
TextData | ntext | クエリ実行の統計情報。 | 1 | はい |
PlanHandle | image | ストアド プロシージャまたはバッチのコンパイル済みプランのプラン ハンドル。 dm_exec_query_plan 動的管理ビューを使用して XML プランを取得するために使用できます。 | 65 | はい |
GroupID | int | SQL トレース イベントが発生したワークロード グループの ID。 | 66 | はい |
EventSubClass 4
データ列名 | データの種類 | 説明 | 列 ID | フィルター可能 |
---|---|---|---|---|
BigintData1 | bigint | NULL | 52 | はい |
BinaryData | image | NULL | 2 | はい |
DatabaseID | int | 指定されたストアド プロシージャが存在するデータベースの ID。 | 3 | はい |
EventSequence | int | 要求内の特定のイベントのシーケンス。 | 51 | いいえ |
SessionLoginName | nvarchar | セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Windows ログインの両方が表示されます。 | 64 | はい |
EventSubClass | int | イベント サブクラスの種類。 4 = キャッシュされたストアド プロシージャがキャッシュから削除されており、そのストアド プロシージャに関連付けられたパフォーマンス履歴データが破棄されようとしています。 |
21 | はい |
IntegerData2 | int | NULL | 55 | はい |
ObjectID | int | ストアド プロシージャの ID。 sys.procedures の object_id 列と同じです。 | 22 | はい |
オフセット | int | NULL | 61 | はい |
SPID | int | イベントが発生したセッションの ID。 | 12 | はい |
SqlHandle | image | dm_exec_sql_text 動的管理ビューを使用して実行されたストアド プロシージャ SQL テキストを取得するために使用できる SQL ハンドル。 | 63 | はい |
StartTime | datetime | イベントの開始時刻 (取得できた場合)。 | 14 | はい |
TextData | ntext | ProcedureExecutionStats | 1 | はい |
PlanHandle | image | ストアド プロシージャのコンパイル済みプランのプラン ハンドル。 dm_exec_query_plan 動的管理ビューを使用して XML プランを取得するために使用できます。 | 65 | はい |
GroupID | int | SQL トレース イベントが発生したワークロード グループの ID。 | 66 | はい |
EventSubClass 5
データ列名 | データの種類 | 説明 | 列 ID | フィルター可能 |
---|---|---|---|---|
BigintData1 | bigint | NULL | 52 | はい |
BinaryData | image | NULL | 2 | はい |
DatabaseID | int | 指定されたトリガーが存在するデータベースの ID。 | 3 | はい |
EventSequence | int | 要求内の特定のイベントのシーケンス。 | 51 | いいえ |
SessionLoginName | nvarchar | セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Windows ログインの両方が表示されます。 | 64 | はい |
EventSubClass | int | イベント サブクラスの種類。 5 = キャッシュされたトリガーがキャッシュから削除されており、そのトリガーに関連付けられたパフォーマンス履歴データが破棄されようとしています。 |
21 | はい |
IntegerData2 | int | NULL | 55 | はい |
ObjectID | int | トリガーの ID です。 sys.triggers/sys.server_triggers カタログ ビューの object_id 列と同じです。 | 22 | はい |
オフセット | int | NULL | 61 | はい |
SPID | int | イベントが発生したセッションの ID。 | 12 | はい |
SqlHandle | image | dm_exec_sql_text 動的管理ビューを使用してトリガーの SQL テキストを取得するために使用できる SQL ハンドル。 | 63 | はい |
StartTime | datetime | イベントの開始時刻 (取得できた場合)。 | 14 | はい |
TextData | ntext | TriggerExecutionStats | 1 | はい |
PlanHandle | image | トリガーのコンパイル済みプランのプラン ハンドル。 dm_exec_query_plan 動的管理ビューを使用して XML プランを取得するために使用できます。 | 65 | はい |
GroupID | int | SQL トレース イベントが発生したワークロード グループの ID。 | 66 | はい |
参照
拡張イベント
sp_trace_setevent (Transact-SQL)
Showplan XML for Query Compile イベント クラス
動的管理ビューと動的管理関数 (Transact-SQL)