SP:Recompile イベント クラス

SP:Recompile イベント クラスは、ストアド プロシージャ、トリガ、またはユーザー定義関数が再コンパイルされたことを示します。このイベント クラスにより報告される再コンパイルは、SQL Server 2000 ではバッチ レベルで発生していましたが、SQL Server 2005 ではステートメント レベルで発生します。

SQL Server 2005 以降でステートメント レベルの再コンパイルを追跡する方法としては、SQL:StmtRecompile イベント クラスの使用をお勧めします。SQL Server 2005 からは SP:Recompile イベント クラスの使用が推奨されなくなりました。詳細については、「SQL:StmtRecompile イベント クラス」、および「実行プランのキャッシュと再利用」の「実行プランの再コンパイル」を参照してください。

SP:Recompile イベント クラスのデータ列

データ列名

Data type

説明

列 ID

フィルタの適用

ApplicationName

nvarchar

Microsoft SQL Server のインスタンスへの接続を作成したクライアント アプリケーションの名前。この列には、プログラムの表示名ではなく、アプリケーションによって渡された値が格納されます。

10

ClientProcessID

int

クライアント アプリケーションが実行されているプロセスに対し、ホスト コンピュータが割り当てた ID。クライアントによりプロセス ID が指定されている場合は、このデータ列に値が格納されます。

9

DatabaseID

int

ストアド プロシージャが実行されているデータベースの ID。データベースに対応する値は、DB_ID 関数を使用して特定します。

3

DatabaseName

nvarchar

ストアド プロシージャが実行されているデータベースの名前。

35

EventClass

int

イベントの種類 = 37。

27

不可

EventSequence

int

要求内の特定のイベントのシーケンス。

51

不可

EventSubClass

int

イベント サブクラスの種類。再コンパイルの理由を示します。

1 = スキーマの変更

2 = 統計の変更

3 = DNR による再コンパイル

4 = 設定オプションの変更

5 = 一時テーブルの変更

6 = リモート行セットの変更

7 = ブラウズ権限の変更

8 = クエリ通知環境の変更

9 = MPI ビューの変更

10 = カーソル オプションの変更

11 = 再コンパイル オプションあり

21

GroupID

int

SQL トレース イベントが発生したワークロード グループの ID。

66

HostName

nvarchar

クライアントが実行されているコンピュータの名前。クライアントによりホスト名が指定されている場合は、このデータ列に値が格納されます。ホスト名を指定するには、HOST_NAME 関数を使用します。

8

IntegerData2

int

再コンパイルの原因となったストアド プロシージャまたはバッチ内のステートメントの終了オフセット。ステートメントがそのバッチの最後のステートメントである場合、終了オフセットは -1 です。

55

IsSystem

int

イベントがシステム プロセスで発生したか、ユーザー プロセスで発生したかを示します。1 = システム、0 = ユーザーです。

60

LoginName

nvarchar

ユーザーのログイン名。SQL Server セキュリティ ログイン、または DOMAIN\username の形式で表された Microsoft Windows ログイン資格情報です。

11

LoginSid

image

ログイン ユーザーのセキュリティ ID 番号 (SID)。この情報は、sys.server_principals カタログ ビューで参照できます。各 SID はサーバーのログインごとに一意です。

41

NestLevel

int

ストアド プロシージャの入れ子のレベル。

29

NTDomainName

nvarchar

ユーザーが所属する Windows ドメイン。

7

NTUserName

nvarchar

Windows のユーザー名。

6

ObjectID

int

ストアド プロシージャにシステムが割り当てた ID。

22

ObjectName

nvarchar

再コンパイルを発生させたオブジェクトの名前。

34

ObjectType

int

イベントに関係するオブジェクトの種類を表す値。詳細については、「ObjectType トレース イベント列」を参照してください。

28

Offset

int

再コンパイルの原因となったストアド プロシージャまたはバッチ内のステートメントの開始オフセット。

61

RequestID

int

ステートメントが含まれている要求の ID。

49

ServerName

nvarchar

トレースされている SQL Server のインスタンスの名前。

26

不可

SessionLoginName

nvarchar

セッションを開始したユーザーのログイン名。たとえば、Login1 を使用して SQL Server に接続し、Login2 でステートメントを実行すると、SessionLoginName には Login1 が表示され、LoginName には Login2 が表示されます。この列には、SQL Server ログインと Windows ログインの両方が表示されます。

64

SPID

int

イベントが発生したセッションの ID。

12

SqlHandle

varbinary

64 ビット ハッシュ。アドホック クエリやデータベースのテキスト、および SQL オブジェクトのオブジェクト ID に基づいています。この値を sys.dm_exec_sql_text に渡して、関連付けられている SQL テキストを取得できます。

63

StartTime

datetime

イベントの開始時刻 (取得できた場合)。

14

TextData

ntext

ステートメントレベルの再コンパイルの原因となった Transact-SQL ステートメントのテキスト。SQL Server 2000 ではこのデータ列に値が格納されませんでしたが、SQL Server 2005 以降では格納されます。

1

TransactionID

bigint

トランザクションにシステムが割り当てた ID。

4

XactSequence

bigint

現在のトランザクションを説明するトークン。

50