共用方式為


SQL:StmtRecompile 事件類別

適用於:SQL Server Azure SQL 資料庫 Azure 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)