次の方法で共有


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 の各イベント サブクラスに関連するイベント クラスのデータ列について説明します。

EventSubClass 0

データ列名

データ型

説明

列 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 個のクエリを持つアドホック バッチでは、次のようになります。

  • 種類 0 が 1 個

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

EventSubClass 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 個のクエリを持つストアド プロシージャでは、次のようになります。

  • 種類 1 が 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

EventSubClass 2

データ列名

データ型

説明

列 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 個のクエリを持つアドホック バッチでは、次のようになります。

  • 種類 2 が 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

EventSubClass 3

データ列名

データ型

説明

列 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 個のクエリを持つアドホック バッチでは、次のようになります。

  • クエリがキャッシュからフラッシュされるときは種類 3 が 1 個

n 個のクエリを持つストアド プロシージャでは、次のようになります。

  • クエリがキャッシュからフラッシュされるときは種類 3 が 1 個。

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

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

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

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

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