SQL:StmtRecompile 事件類別

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

SQL:StmtRecompile 事件類別指出所有批次類型所造成的語句層級重新編譯:預存程式、觸發程式、臨機操作批次和查詢。 您可以使用sp_executesql、動態 SQL、準備方法、Execute 方法或類似介面來提交查詢。 應該使用 SQL:StmtRecompile 事件類別,而不是 SP:Recompile 事件類別。

SQL:StmtRecompile 事件類別資料行

資料行名稱 資料類型 描述 資料行識別碼 可篩選
ApplicationName nvarchar 建立 Microsoft SQL Server 實例之連線的用戶端應用程式名稱。 此資料行會填入應用程式所傳遞的值,而不是程式顯示的名稱 10 Yes
ClientProcessID int 主機電腦指派給執行用戶端應用程式的進程識別碼。 如果用戶端提供進程識別碼,就會填入此資料行。 9 Yes
DatabaseID int 預存程式執行所在的資料庫識別碼。 請使用 DB_ID 函數判斷資料庫的值。 3 Yes
DatabaseName nvarchar 執行預存程式的資料庫名稱。 35 Yes
EventSequence int 要求內的事件序列。 51 No
EventSubClass int 描述重新編譯的原因:

1 = 架構已變更

2 = 統計資料已變更

3 = 延遲編譯

4 = 已變更設定選項

5 = 臨時表已變更

6 = 遠端資料列集已變更

7 = 已變更流覽許可權

8 = 查詢通知環境已變更

9 = 資料分割檢視已變更

10 = 資料指標選項已變更

11 = 要求的選項(重新編譯)
21 Yes
GroupID int SQL 追蹤事件引發之工作負載群組的識別碼。 66 Yes
HostName nvarchar 執行此語句之用戶端所在的電腦名稱稱。 如果用戶端提供主機名稱,則會填入此資料行。 若要判斷主機名稱,請使用 HOST_NAME 函數。 8 Yes
IntegerData2 int 導致重新編譯之預存程式或批次內的語句結束位移。 如果語句是其批次中的最後一個語句,則結束位移為 -1。 55 Yes
IsSystem int 指出事件發生在系統進程或使用者進程上。

1 = 系統

0 = 使用者
60 Yes
LineNumber int 如果適用,此語句在批次中的序號。 5 Yes
LoginName nvarchar 提交此批次的登入名稱。 11 Yes
LoginSid image 目前登入使用者的安全性識別碼(SID)。 您可以在sys.server_principals目錄檢視中找到此資訊。 每一個 SID 對於伺服器中的每個登入而言都是唯一的。 41 Yes
NestLevel int 預存程序呼叫的巢狀層級。 例如,my_proc_a預存程序呼叫my_proc_b。 在此情況下,my_proc_a的 NestLevel 為 1,my_proc_b NestLevel 為 2。 29 Yes
NTDomainName nvarchar 使用者所屬的 Windows 網域。 7 Yes
NTUserName nvarchar 已連線使用者的 Windows 使用者名稱。 6 Yes
ObjectID int 物件的系統指派識別碼,其中包含導致重新編譯的 語句。 這個物件可以是預存程式、觸發程式或使用者定義函數。 針對特定批次或備妥的 SQL,ObjectID 和 ObjectName 會傳回 Null 值。 22 Yes
ObjectName nvarchar ObjectID 所識別的物件名稱。 34 Yes
ObjectType int 值,表示事件中涉及的物件類型。 如需詳細資訊,請參閱 ObjectType 追蹤事件資料行 28 Yes
Offset int 在導致重新編譯的預存程式或批次內,開始語句的位移。 61 Yes
要求識別碼 int 包含 語句的要求識別碼。 49 Yes
ServerName nvarchar 要追蹤的 SQL Server 名稱。 26 No
SessionLoginName nvarchar 產生會話之使用者的登入名稱。 例如,如果您使用 Login1 連接到 SQL Server,並以 Login2 的形式執行語句,SessionLoginName 會顯示 Login1,而 LoginName 會顯示 Login2。 此資料行會顯示 SQL Server 和 Windows 登入。 64 Yes
SPID int 連線的伺服器進程識別碼。 12 Yes
SqlHandle varbinary 這是一個 64 位元雜湊,以隨選查詢的文字或 SQL 物件的資料庫和物件識別碼為基礎。 此值可以傳遞至 sys.dm_exec_sql_text,以擷取相關聯的 SQL 文字。 63 No
StartTime datetime 如果有的話,事件開始的時間。 14 Yes
TextData ntext 重新編譯之 Transact-SQL 語句的文字。 1 Yes
TransactionID bigint 交易的系統指派識別碼。 4 Yes
XactSequence bigint 描述目前交易的權杖。 50 Yes

另請參閱

SP:Recompile 事件類別
sp_trace_setevent (Transact-SQL)