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 |
可 |