Performance Statistics イベント クラス
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 の各イベント サブクラスに関連するイベント クラスのデータ列について説明します。
データ列名 |
データ型 |
説明 |
列 ID |
フィルタの適用 |
---|---|---|---|---|
BigintData1 |
bigint |
NULL |
52 |
可 |
BinaryData |
image |
NULL |
2 |
可 |
DatabaseID |
int |
USE database ステートメントで指定されたデータベースの ID。特定のインスタンスについて USE database ステートメントが実行されていない場合は、既定のデータベースの ID となります。SQL Server Profiler では、ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。データベースに対応する値は、DB_ID 関数を使用して特定します。 |
3 |
可 |
EventSequence |
int |
要求内の特定のイベントのシーケンス。 |
51 |
不可 |
EventSubClass |
int |
イベント サブクラスの種類。 0 = 現在キャッシュ内にない新しいバッチ SQL テキスト。 アドホック バッチのトレースで、次の種類の EventSubClass が生成されます。 n 個のクエリを持つアドホック バッチでは、次のようになります。
|
21 |
可 |
IntegerData2 |
int |
NULL |
55 |
可 |
ObjectID |
int |
NULL |
22 |
可 |
Offset |
int |
NULL |
61 |
可 |
PlanHandle |
Image |
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 |
可 |
データ列名 |
データ型 |
説明 |
列 ID |
フィルタの適用 |
---|---|---|---|---|
BigintData1 |
bigint |
このプランが再コンパイルされた累積回数。 |
52 |
可 |
BinaryData |
image |
コンパイル済みプランのバイナリ XML。 |
2 |
可 |
DatabaseID |
int |
USE database ステートメントで指定されたデータベースの ID。特定のインスタンスについて USE database ステートメントが実行されていない場合は、既定のデータベースの ID となります。SQL Server Profiler では、ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。DB_ID 関数を使用して、データベースのデータベース ID の値を特定します。 |
3 |
可 |
EventSequence |
int |
要求内の特定のイベントのシーケンス。 |
51 |
不可 |
SessionLoginName |
nvarchar |
セッションを開始したユーザーのログイン名。たとえば、Login1 を使用して SQL Server に接続し、Login2 でステートメントを実行すると、SessionLoginName には Login1 が表示され、LoginName には Login2 が表示されます。この列には、SQL Server ログインと Windows ログインの両方が表示されます。 |
64 |
可 |
EventSubClass |
int |
イベント サブクラスの種類。 1 = ストアド プロシージャ内のクエリがコンパイルされました。 ストアド プロシージャのトレースで、次の種類の EventSubClass が生成されます。 n 個のクエリを持つストアド プロシージャでは、次のようになります。
|
21 |
可 |
IntegerData2 |
int |
ストアド プロシージャ内のステートメントの最後。 ストアド プロシージャの最後に達すると -1 になります。 |
55 |
可 |
ObjectID |
int |
オブジェクトに対してシステムが割り当てた ID。 |
22 |
可 |
Offset |
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 |
可 |
データ列名 |
データ型 |
説明 |
列 ID |
フィルタの適用 |
---|---|---|---|---|
BigintData1 |
bigint |
このプランが再コンパイルされた累積回数。 |
52 |
可 |
BinaryData |
image |
コンパイル済みプランのバイナリ XML。 |
2 |
可 |
DatabaseID |
int |
USE database ステートメントで指定されたデータベースの ID。特定のインスタンスについて USE database ステートメントが実行されていない場合は、既定のデータベースの ID となります。SQL Server Profiler では、ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。DB_ID 関数を使用して、データベースのデータベース 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 個のクエリを持つアドホック バッチでは、次のようになります。
|
21 |
可 |
IntegerData2 |
int |
バッチ内のステートメントの最後。 バッチの最後に達すると -1 になります。 |
55 |
可 |
ObjectID |
int |
なし |
22 |
可 |
Offset |
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 |
可 |
データ列名 |
データ型 |
説明 |
列 ID |
フィルタの適用 |
---|---|---|---|---|
BigintData1 |
bigint |
このプランが再コンパイルされた累積回数。 |
52 |
可 |
BinaryData |
image |
NULL |
2 |
可 |
DatabaseID |
int |
USE database ステートメントで指定されたデータベースの ID。特定のインスタンスについて USE database ステートメントが実行されていない場合は、既定のデータベースの ID となります。SQL Server Profiler では、ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。DB_ID 関数を使用して、データベースのデータベース ID の値を特定します。 |
3 |
可 |
EventSequence |
int |
要求内の特定のイベントのシーケンス。 |
51 |
不可 |
SessionLoginName |
nvarchar |
セッションを開始したユーザーのログイン名。たとえば、Login1 を使用して SQL Server に接続し、Login2 でステートメントを実行すると、SessionLoginName には Login1 が表示され、LoginName には Login2 が表示されます。この列には、SQL Server ログインと Windows ログインの両方が表示されます。 |
64 |
可 |
EventSubClass |
int |
イベント サブクラスの種類。 3 = キャッシュされたクエリが破棄され、プランに関連付けられたパフォーマンス履歴データが破棄されようとしています。 トレースで、次の種類の EventSubClass が生成されます。 n 個のクエリを持つアドホック バッチでは、次のようになります。
n 個のクエリを持つストアド プロシージャでは、次のようになります。
|
21 |
可 |
IntegerData2 |
int |
ストアド プロシージャまたはバッチ内のステートメントの最後。 ストアド プロシージャまたはバッチの最後に達すると -1 になります。 |
55 |
可 |
ObjectID |
int |
NULL |
22 |
可 |
Offset |
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 |
可 |
データ列名 |
データ型 |
説明 |
列 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 |
可 |
Offset |
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 |
可 |
データ列名 |
データ型 |
説明 |
列 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 |
可 |
Offset |
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 |
可 |