sp_trace_setevent (Transact-SQL)

適用於:SQL Server

將事件或事件數據行加入或移除至追蹤。 sp_trace_setevent 只能在已停止的現有追蹤上執行 (@status0)。 如果這個預存程式是在不存在的追蹤上執行,或是 其@status 不是 0,就會傳回錯誤。

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用擴充事件。

Transact-SQL 語法慣例

語法

sp_trace_setevent
    [ @traceid = ] traceid
    , [ @eventid = ] eventid
    , [ @columnid = ] columnid
    , [ @on = ] on
[ ; ]

引數

[ @traceid = ] traceid

要修改之追蹤的標識碼。 @traceid為 int,沒有預設值。 使用者會使用此 @traceid 值來識別、修改及控制追蹤。

[ @eventid = ] eventid

要開啟的事件標識碼。 @eventid為 int,沒有預設值。

下表列出可新增至追蹤或移除的事件。

事件編號 事件名稱 描述
0 移至 9 Reserved 已保留
10 RPC:Completed 發生於遠端過程調用 (RPC) 完成時。
11 RPC:Starting 發生於 RPC 已啟動時。
12 SQL:BatchCompleted 當 Transact-SQL 批次完成時發生。
13 SQL:BatchStarting 發生於 Transact-SQL 批次已啟動時。
14 Audit Login 當使用者成功登入 SQL Server 時發生。
15 Audit Logout 當使用者註銷 SQL Server 時發生。
16 Attention 發生於注意事件,例如用戶端中斷要求或中斷的用戶端連線時。
17 ExistingConnection 在追蹤啟動之前,由連線到 SQL Server 的使用者偵測所有活動。
18 Audit Server Starts and Stops 發生於修改 SQL Server 服務狀態時。
19 DTCTransaction 追蹤兩個或多個資料庫之間的 Microsoft 分散式交易協調器 (MS DTC) 協調交易。
20 Audit Login Failed 表示從客戶端嘗試 SQL Server 登入失敗。
21 EventLog 指出事件已記錄在 Windows 應用程式記錄檔中。
22 ErrorLog 指出已在 SQL Server 錯誤記錄檔中記錄錯誤事件。
23 Lock:Released 表示已釋出資源上的鎖定,例如頁面。
24 Lock:Acquired 表示取得資源的鎖定,例如數據頁面。
25 Lock:Deadlock 表示兩個並行交易已藉由嘗試取得其他交易擁有的資源不相容鎖定,彼此死結。
26 Lock:Cancel 表示已取消資源鎖定的擷取(例如,因為死結)。
27 Lock:Timeout 表示資源上鎖定的要求,例如頁面,已逾時,因為另一筆交易在所需的資源上持有封鎖鎖定。 逾時是由 @@LOCK_TIMEOUT 函式所決定,而且可以使用SET LOCK_TIMEOUT 語句來設定。
28 Degree of Parallelism Event 會在執行 SELECT、INSERT 或 UPDATE 語句之前發生。
29 移至 31 Reserved 請改用事件 28。
32 Reserved 已保留
33 Exception 指出 SQL Server 中發生例外狀況。
34 SP:CacheMiss 指出在程式快取中找不到預存程式。
35 SP:CacheInsert 指出何時將專案插入程式快取中。
36 SP:CacheRemove 指出何時從程式快取中移除專案。
37 SP:Recompile 表示預存程式已重新編譯。
38 SP:CacheHit 指出在程式快取中找到預存程式時。
39 Deprecated 已取代
40 SQL:StmtStarting 發生於 Transact-SQL 語句已啟動時。
41 SQL:StmtCompleted 當 Transact-SQL 語句完成時發生。
42 SP:Starting 指出預存程式何時啟動。
43 SP:Completed 指出預存程式何時完成。
44 SP:StmtStarting 表示預存程式內的 Transact-SQL 語句已開始執行。
45 SP:StmtCompleted 表示預存程式內的 Transact-SQL 語句已完成執行。
46 Object:Created 表示已經建立物件,例如 CREATE INDEX、CREATE TABLE 和 CREATE DATABASE 語句。
47 Object:Deleted 表示物件已刪除,例如DROP INDEX和DROP TABLE語句。
48 Reserved
49 Reserved
50 SQL Transaction 追蹤 Transact-SQL BEGIN、COMMIT、SAVE 和 ROLLBACK TRANSACTION 語句。
51 Scan:Started 指出數據表或索引掃描何時啟動。
52 Scan:Stopped 指出數據表或索引掃描何時停止。
53 CursorOpen 指出 ODBC、OLE DB 或 DB-Library 在 Transact-SQL 語句上開啟數據指標的時機。
54 TransactionLog 追蹤交易何時寫入事務歷史記錄。
55 Hash Warning 表示哈希作業(例如哈希聯結、哈希匯總、哈希聯集和哈希相異),在緩衝區分割區上未處理的哈希作業已還原為替代計劃。 這可能會因為遞歸深度、數據扭曲、追蹤旗標或位計數而發生。
56 移至 57 Reserved
58 Auto Stats 表示已發生索引統計數據的自動更新。
59 Lock:Deadlock Chain 針對導致死結的每個事件產生。
60 Lock:Escalation 表示更精細的鎖定已轉換成粗細鎖定(例如,頁面鎖定呈報或轉換成 TABLE 或 HoBT 鎖定)。
61 OLE DB Errors 表示已發生 OLE DB 錯誤。
62 移至 66 Reserved
67 Execution Warnings 指出在 SQL Server 語句或預存程式執行期間發生的任何警告。
68 Showplan Text (Unencoded) 顯示執行之 Transact-SQL 語句的計劃樹狀結構。
69 Sort Warnings 表示不符合記憶體的排序作業。 不包含涉及建立索引的排序作業;只會排序查詢內的作業(例如 SELECT 語句中使用的 ORDER BY 子句)。
70 CursorPrepare 指出 Transact-SQL 語句上的數據指標何時準備好供 ODBC、OLE DB 或 DB-Library 使用。
71 Prepare SQL ODBC、OLE DB 或 DB-Library 已備妥 Transact-SQL 語句或語句以供使用。
72 Exec Prepared SQL ODBC、OLE DB 或 DB-Library 已執行備妥的 Transact-SQL 語句或語句。
73 Unprepare SQL ODBC、OLE DB 或 DB-Library 已備妥的 Transact-SQL 語句或語句尚未準備(已刪除)。
74 CursorExecute 執行先前由 ODBC、OLE DB 或 DB-Library 在 Transact-SQL 語句上準備的數據指標。
75 CursorRecompile ODBC 或 DB-Library 在 Transact-SQL 語句上開啟的數據指標已直接或因為架構變更而重新編譯。

針對 ANSI 和非 ANSI 數據指標觸發。
76 CursorImplicitConversion Transact-SQL 語句上的數據指標會由 SQL Server 從某個類型轉換成另一種類型。

針對 ANSI 和非 ANSI 數據指標觸發。
77 CursorUnprepare ODBC、OLE DB 或 DB-Library 在 Transact-SQL 語句上備妥的數據指標尚未準備(已刪除)。
78 CursorClose ODBC、OLE DB 或 DB-Library 先前在 Transact-SQL 語句上開啟的數據指標已關閉。
79 Missing Column Statistics 優化工具可能很有用的數據行統計數據無法使用。
80 Missing Join Predicate 未執行聯結述詞的查詢。 這可能會導致長時間執行的查詢。
81 Server Memory Change SQL Server 記憶體使用量已增加或減少 1 MB 或 5% 的最大伺服器記憶體,無論哪一個都更大。
82 移至 91 User Configurable (0 - 9) 使用者定義的事件數據。
92 Data File Auto Grow 表示數據檔已由伺服器自動擴充。
93 Log File Auto Grow 表示伺服器會自動擴充記錄檔。
94 Data File Auto Shrink 表示伺服器自動壓縮數據檔。
95 Log File Auto Shrink 表示伺服器自動壓縮記錄檔。
96 Showplan Text 顯示查詢優化器中 SQL 語句的查詢計劃樹狀結構。 數據 TextData 行不包含此事件的 Showplan。
97 Showplan All 顯示查詢計劃,其中包含執行之 SQL 語句的完整編譯時間詳細數據。 數據 TextData 行不包含此事件的 Showplan。
98 Showplan Statistics Profile 顯示查詢計劃,其中包含執行之 SQL 語句的完整運行時間詳細數據。 數據 TextData 行不包含此事件的 Showplan。
99 Reserved
100 RPC Output Parameter 針對每個 RPC 產生參數的輸出值。
101 Reserved
102 Audit Database Scope GDR 每次 SQL Server 中任何使用者發出語句許可權的 GRANT、DENY、REVOKE,以執行僅限資料庫動作時發生,例如授與資料庫的許可權。
103 Audit Object GDR Event 每次 SQL Server 中的任何使用者發出 GRANT、DENY、REVOKE 物件許可權時發生。
104 Audit AddLogin Event 發生於新增或移除 SQL Server 登入時;針對 sp_addloginsp_droplogin
105 Audit Login GDR Event 新增或移除 Windows 登入許可權時發生;針對 sp_grantloginsp_revokeloginsp_denylogin
106 Audit Login Change Property Event 發生於修改密碼以外的登入屬性時;針對 sp_defaultdbsp_defaultlanguage
107 Audit Login Change Password Event 發生於 SQL Server 登入密碼變更時。

不會記錄密碼。
108 Audit Add Login to Server Role Event 在從固定伺服器角色新增或移除登入時發生;針對 sp_addsrvrolemember、 與 sp_dropsrvrolemember
109 Audit Add DB User Event 發生於將登入新增或移除為資料庫使用者 (Windows 或 SQL Server) 至資料庫時;針對 sp_grantdbaccesssp_revokedbaccesssp_addusersp_dropuser
110 Audit Add Member to DB Role Event 在將登入新增或移除為資料庫用戶時發生(固定或使用者定義)加入或移除資料庫時;針對 sp_addrolemembersp_droprolemembersp_changegroup
111 Audit Add Role Event 當以資料庫使用者身分加入或移除登入時發生;針對 sp_addrolesp_droprole
112 Audit App Role Change Password Event 發生於變更應用程式角色的密碼時。
113 Audit Statement Permission Event 發生於使用語句許可權 (例如 CREATE TABLE) 時。
114 Audit Schema Object Access Event 發生於使用物件許可權 (例如 SELECT) 時,兩者都成功或失敗。
115 Audit Backup/Restore Event 發生於發出 BACKUP 或 RESTORE 命令時。
116 Audit DBCC Event 發生於發出 DBCC 命令時。
117 Audit Change Audit Event 發生於進行稽核追蹤修改時。
118 Audit Object Derived Permission Event 發生於發出 CREATE、ALTER 和 DROP 物件命令時。
119 OLEDB Call Event 發生於針對分散式查詢和遠端預存程式進行 OLE DB 提供者呼叫時。
120 OLEDB QueryInterface Event 發生於針對分散式查詢和遠端預存程式進行 OLE DB QueryInterface 呼叫時。
121 OLEDB DataRead Event 發生於對 OLE DB 提供者進行數據要求呼叫時。
122 Showplan XML 發生於 SQL 語句執行時。 包含此事件以識別 Showplan 運算符。 每個事件都會儲存在格式正確的 XML 檔中。 Binary此事件的數據行包含編碼的 Showplan。 使用 SQL Server Profiler 開啟追蹤並檢視 Showplan。
123 SQL:FullTextQuery 發生於全文檢索查詢執行時。
124 Broker:Conversation 報告 Service Broker 交談的進度。
125 Deprecation Announcement 當您使用即將從未來的 SQL Server 版本中移除的功能時發生。
126 Deprecation Final Support 當您使用即將從下一個主要版本的 SQL Server 中移除的功能時發生。
127 Exchange Spill Event 發生於平行查詢計劃中通訊緩衝區已暫時寫入 tempdb 資料庫時。
128 Audit Database Management Event 發生於建立、改變或卸除資料庫時。
129 Audit Database Object Management Event 當 CREATE、ALTER 或 DROP 語句在資料庫物件上執行時發生,例如架構。
130 Audit Database Principal Management Event 發生於主體,例如使用者、建立、改變或卸除資料庫時。
131 Audit Schema Object Management Event 發生於建立、改變或卸載伺服器物件時。
132 Audit Server Principal Impersonation Event 發生於伺服器範圍內有模擬時,例如 EXECUTE AS LOGIN。
133 Audit Database Principal Impersonation Event 在資料庫範圍內發生模擬時發生,例如 EXECUTE AS USER 或 SETUSER。
134 Audit Server Object Take Ownership Event 發生於伺服器範圍中對象的擁有者變更時。
135 Audit Database Object Take Ownership Event 發生於資料庫範圍內對象的擁有者變更時。
136 Broker:Conversation Group 當 Service Broker 建立新的交談群組或卸除現有的交談群組時發生。
137 Blocked Process Report 發生於進程已封鎖超過指定時間量時。 不包含正在等候非死結可偵測資源的系統進程或進程。 使用 sp_configure 來設定產生報表的臨界值和頻率。
138 Broker:Connection 報告 Service Broker 所管理之傳輸連線的狀態。
139 Broker:Forwarded Message Sent 發生於 Service Broker 轉寄訊息時。
140 Broker:Forwarded Message Dropped 當 Service Broker 卸除要轉送的訊息時發生。
141 Broker:Message Classify 當 Service Broker 判斷訊息的路由時發生。
142 Broker:Transmission 指出 Service Broker 傳輸層中發生錯誤。 錯誤號碼和狀態值表示錯誤的來源。
143 Broker:Queue Disabled 指出偵測到有害訊息,因為 Service Broker 佇列上有五個連續的交易回復。 事件包含包含有害訊息之佇列的資料庫標識碼和佇列標識碼。
144 移至 145 Reserved
146 Showplan XML Statistics Profile 發生於 SQL 語句執行時。 識別 Showplan 運算符,並顯示完整的編譯時間數據。 Binary此事件的數據行包含編碼的 Showplan。 使用 SQL Server Profiler 開啟追蹤並檢視 Showplan。
148 Deadlock Graph 發生於嘗試取得鎖定時,因為嘗試是死結的一部分,並被選擇為死結受害者。 提供死結的 XML 描述。
149 Broker:Remote Message Acknowledgement 發生於 Service Broker 傳送或接收訊息通知時。
150 Trace File Close 當追蹤檔案在追蹤檔案變換期間關閉時發生。
151 Reserved
152 Audit Change Database Owner 發生於使用 ALTER AUTHORIZATION 來變更資料庫的擁有者,並檢查許可權來執行此動作時。
153 Audit Schema Object Take Ownership Event 發生於使用 ALTER AUTHORIZATION 將擁有者指派給物件,並檢查許可權來執行此動作時。
154 Reserved
155 FT:Crawl Started 發生於全文檢索搜耙 (population) 啟動時。 用來檢查背景工作是否挑選編目要求。
156 FT:Crawl Stopped 發生於全文檢索搜耙(母體)停止時。 當編目成功完成或發生嚴重錯誤時,就會停止。
157 FT:Crawl Aborted 在全文檢索搜耙期間遇到例外狀況時發生。 通常會導致全文檢索搜耙停止。
158 Audit Broker Conversation 報告與 Service Broker 對話框安全性相關的稽核訊息。
159 Audit Broker Login 報告與 Service Broker 傳輸安全性相關的稽核訊息。
160 Broker:Message Undeliverable 當 Service Broker 無法保留應該已傳遞至服務的已接收訊息時發生。
161 Broker:Corrupted Message 當 Service Broker 收到損毀的訊息時發生。
162 User Error Message 顯示使用者在發生錯誤或例外狀況時看到的錯誤訊息。
163 Broker:Activation 當佇列監視器啟動啟用預存程式、傳送 QUEUE_ACTIVATION 通知,或佇列監視器啟動的啟用預存程序結束時發生。
164 Object:Altered 發生於改變資料庫物件時。
165 Performance statistics 發生於已編譯的查詢計劃第一次快取、重新編譯或從計劃快取中移除時。
166 SQL:StmtRecompile 發生於語句層級重新編譯時。
167 Database Mirroring State Change 發生於鏡像資料庫的狀態變更時。
168 Showplan XML For Query Compile 發生於 SQL 語句編譯時。 顯示完整的編譯時間數據。 Binary此事件的數據行包含編碼的 Showplan。 使用 SQL Server Profiler 開啟追蹤並檢視 Showplan。
169 Showplan All For Query Compile 發生於 SQL 語句編譯時。 顯示完整、編譯時間的數據。 使用 來識別 Showplan 運算元。
170 Audit Server Scope GDR Event 表示發生伺服器範圍許可權的授與、拒絕或撤銷事件,例如建立登入。
171 Audit Server Object GDR Event 表示發生架構物件的授與、拒絕或撤銷事件,例如數據表或函式。
172 Audit Database Object GDR Event 表示發生資料庫物件的授與、拒絕或撤銷事件,例如元件和架構。
173 Audit Server Operation Event 發生於使用變更設定、資源、外部存取或授權等安全性稽核作業時。
175 Audit Server Alter Trace Event 當語句檢查 ALTER TRACE 許可權時發生。
176 Audit Server Object Management Event 發生於建立、改變或卸載伺服器物件時。
177 Audit Server Principal Management Event 發生於建立、改變或卸載伺服器主體時。
178 Audit Database Operation Event 發生於資料庫作業發生時,例如檢查點或訂閱查詢通知。
180 Audit Database Object Access Event 發生於存取資料庫物件,例如架構時。
181 TM: Begin Tran starting BEGIN TRANSACTION當要求啟動時發生。
182 TM: Begin Tran completed 當要求完成時 BEGIN TRANSACTION 發生。
183 TM: Promote Tran starting PROMOTE TRANSACTION當要求啟動時發生。
184 TM: Promote Tran completed 當要求完成時 PROMOTE TRANSACTION 發生。
185 TM: Commit Tran starting COMMIT TRANSACTION當要求啟動時發生。
186 TM: Commit Tran completed 當要求完成時 COMMIT TRANSACTION 發生。
187 TM: Rollback Tran starting ROLLBACK TRANSACTION當要求啟動時發生。
188 TM: Rollback Tran completed 當要求完成時 ROLLBACK TRANSACTION 發生。
189 Lock:Timeout (timeout > 0) 發生於要求鎖定資源時,例如頁面逾時。
190 Progress Report: Online Index Operation 在建置程式執行時報告在線索引建置作業的進度。
191 TM: Save Tran starting SAVE TRANSACTION當要求啟動時發生。
192 TM: Save Tran completed 當要求完成時 SAVE TRANSACTION 發生。
193 Background Job Error 當背景工作異常終止時發生。
194 OLEDB Provider Information 當分散式查詢執行並收集對應至提供者連接的信息時發生。
195 Mount Tape 發生於收到磁帶掛接要求時。
196 Assembly Load 發生於要求載入 CLR 元件時。
197 Reserved
198 XQuery Static Type 執行 XQuery 運算式時發生。 這個事件類別提供 XQuery 表達式的靜態類型。
199 QN: subscription 發生於無法訂閱查詢註冊時。 數據 TextData 行包含事件的相關信息。
200 QN: parameter table 使用中訂閱的相關信息會儲存在內部參數數據表中。 建立或刪除參數數據表時,就會發生這個事件類別。 一般而言,這些數據表會在重新啟動資料庫時建立或刪除。 數據 TextData 行包含事件的相關信息。
201 QN: template 查詢範本代表訂用帳戶查詢的類別。 一般而言,相同類別中的查詢會相同,但參數值除外。 當新的訂用帳戶要求落入現有類別 ()、新類別 (MatchCreate) 或 Drop 類別時,就會發生這個事件類別,表示清除沒有使用中訂用帳戶之查詢類別的範本。 數據 TextData 行包含事件的相關信息。
202 QN: dynamics 追蹤查詢通知的內部活動。 數據 TextData 行包含事件的相關信息。
212 Bitmap Warning 指出查詢中已停用位圖篩選條件。
213 Database Suspect Data Page 指出何時將頁面新增至 suspect_pages 中的 msdb數據表。
214 CPU threshold exceeded 指出資源管理員偵測到查詢已超過CPU閾值 (REQUEST_MAX_CPU_TIME_SEC)。
215 PreConnect:Starting 指出 LOGON 觸發程式或 Resource Governor 分類器函式何時開始執行。
216 PreConnect:Completed 指出 LOGON 觸發程式或 Resource Governor 分類器函式何時完成執行。
217 Plan Guide Successful 表示 資料庫引擎 已成功為包含計劃指南的查詢或批次產生執行計劃。
218 Plan Guide Unsuccessful 表示 資料庫引擎 無法針對包含計劃指南的查詢或批次產生執行計劃。 資料庫引擎 嘗試針對此查詢或批次產生執行計劃,而不需套用計劃指南。 無效的計劃指南可能是此問題的原因。 您可以使用系統函式來驗證計劃指南 sys.fn_validate_plan_guide
235 Audit Fulltext

[ @columnid = ] columnid

要加入事件之數據行的標識碼。 @columnid為 int,沒有預設值。

下表列出可以針對事件加入的數據行。

Column number 資料行名稱 描述
1 TextData 與追蹤中擷取的事件類別相依的文字值。
2 BinaryData 二進位值取決於追蹤中擷取的事件類別。
3 DatabaseID USE database 語句所指定的資料庫標識碼,如果沒有針對指定的連接發出USE database語句,則為預設資料庫

您可以使用 DB_ID 函式來判斷資料庫的值。
4 TransactionID 交易的系統指派標識碼。
5 LineNumber 包含錯誤行號。 對於牽涉到 Transact-SQL 語句的事件,例如 SP:StmtStartingLineNumber 包含預存程式或批次中的 語句行號。
6 NTUserName Microsoft Windows 用戶名稱。
7 NTDomainName 用戶所屬的 Windows 網域。
8 HostName 產生要求的用戶端計算機名稱。
9 ClientProcessID 用戶端計算機指派給執行用戶端應用程式的進程標識碼。
10 ApplicationName 建立 SQL Server 實例之連線的用戶端應用程式名稱。 此資料行會填入應用程式所傳遞的值,而不是程序顯示的名稱。
11 LoginName 用戶端的 SQL Server 登入名稱。
12 SPID SQL Server 指派給與客戶端相關聯之進程的伺服器進程標識碼。
13 Duration 事件所花費的時間量(以微秒為單位)。 此數據行不會由 Hash Warning 事件填入。
14 StartTime 事件發生的時間,可用時。
15 EndTime 事件結束的時間。 此資料列不會填入啟動事件類別,例如 SQL:BatchStartingSP:Starting。 事件也不會填入 Hash Warning
16 Reads 伺服器代表事件執行的邏輯磁碟讀取數目。 此數據行不會由 Lock:Released 事件填入。
17 Writes 伺服器代表事件執行的實體磁碟寫入數目。
18 CPU 事件所使用的 CPU 時間量(以毫秒為單位)。
19 Permissions 表示許可權的點圖;安全性稽核所使用的 。
20 Severity 例外狀況的嚴重性層級。
21 EventSubClass 事件子類別的類型。 此資料行不會針對所有事件類別填入。
22 ObjectID 對象的系統指派標識碼。
23 Success 許可權使用嘗試成功;用於稽核。

1 = success
0 = 失敗
24 IndexID 受事件影響之物件索引的標識碼。 若要判斷物件的索引標識碼,請使用 indid 系統數據表的數據 sysindexes 行。
25 IntegerData 相依於追蹤中擷取的事件類別的整數值。
26 ServerName 要追蹤的 SQL Server 實例名稱、 servernameservername\instancename
27 EventClass 要記錄的事件類別類型。
28 ObjectType 對象的類型,例如:table、function 或預存程式。
29 NestLevel 這個預存程式執行所在的巢狀層級。 請參閱 @@NESTLEVEL (Transact-SQL)
30 State 發生錯誤時的伺服器狀態。
31 Error 錯誤號碼。
32 Mode 取得鎖定的鎖定模式。 此數據行不會由 Lock:Released 事件填入。
33 Handle 事件中所參考物件的句柄。
34 ObjectName 存取的物件名稱。
35 DatabaseName USE database 語句中指定的資料庫 名稱。
36 FileName 修改之檔名的邏輯名稱。
37 OwnerName 所參考對象的擁有者名稱。
38 RoleName 以語句為目標的資料庫或全伺服器角色名稱。
39 TargetUserName 某些動作之目標的用戶名稱。
40 DBUserName 用戶端的 SQL Server 資料庫用戶名稱。
41 LoginSid 已登入使用者的安全性識別碼 (SID)。
42 TargetLoginName 某些動作目標的登入名稱。
43 TargetLoginSid 登入的 SID 是某些動作的目標。
44 ColumnPermissions 數據行層級許可權狀態;安全性稽核所使用的 。
45 LinkedServerName 連結伺服器的名稱。
46 ProviderName OLE DB 提供者的名稱。
47 MethodName OLE DB 方法的名稱。
48 RowCounts 批次中的數據列數目。
49 RequestID 包含語句的要求標識碼。
50 XactSequence 用來描述目前交易的 Token。
51 EventSequence 此事件的序號。
52 BigintData1 bigint 值,其相依於追蹤中擷取的事件類別。
53 BigintData2 bigint 值,其相依於追蹤中擷取的事件類別。
54 GUID GUID 值,其相依於追蹤中擷取的事件類別。
55 IntegerData2 整數值,其相依於追蹤中擷取的事件類別。
56 ObjectID2 如果有的話,相關對象或實體的標識符。
57 Type 整數值,其相依於追蹤中擷取的事件類別。
58 OwnerID 擁有鎖定的物件類型。 只適用於鎖定事件。
59 ParentName 物件在其中的架構名稱。
60 IsSystem 指出事件發生在系統進程或用戶進程上。

1 = system
0 = user。
61 Offset 在預存程式或批次內開始語句的位移。
62 SourceDatabaseID 物件來源所在的資料庫標識碼。
63 SqlHandle 這是一個 64 位元雜湊,以隨選查詢的文字或 SQL 物件的資料庫和物件識別碼為基礎。 這個值可以傳遞至 sys.dm_exec_sql_text() 以擷取相關聯的SQL文字。
64 SessionLoginName 引發工作階段的使用者登入名稱。 例如,如果您使用 連接到 SQL ServerLogin1,並以的形式執行 語句Login2SessionLoginName則會在 顯示 時LoginName顯示 Login1Login2。 此資料行會同時顯示 SQL Server 和 Windows 登入資料。

[ @on = ] on

指定啟用 (1) 或停用事件0@on為 bit,沒有預設值。

如果@on設定為 1,且 @columnidNULL,則事件會設定為 ON ,而且會清除所有數據行。 如果 @columnid 不是 Null,則該事件的數據行會設定為 ON。

如果@on設定為 0,且 @columnidNULL,則會開啟OFF事件並清除所有數據行。 如果 @columnid 不是 Null,則會關閉數據行。

下表說明@on@columnid之間的互動。

@on @columnid 結果
ON (1 NULL 事件已開啟。

會清除所有資料行。
NOT NULL 指定事件的數據行已開啟。
OFF (0 NULL 事件已 關閉

會清除所有資料行。
NOT NULL 指定的事件會 關閉 資料行。

傳回碼值

下表描述使用者可能會在預存程式完成之後取得的程式代碼值。

傳回碼 描述
0 沒有錯誤。
1 未知的誤差。
2 追蹤目前正在執行中。 此時變更追蹤會導致錯誤。
3 指定的事件無效。 事件可能不存在,或不適合預存程式。
4 指定的數據行無效。
9 指定的追蹤句柄無效。
11 指定的數據行會在內部使用,而且無法移除。
13 記憶體不足。 當記憶體不足而無法執行指定的動作時傳回。
16 此函式對這項追蹤無效。

備註

sp_trace_setevent 執行許多先前由舊版 SQL Server 中可用的擴充預存程式所執行的動作。 使用 sp_trace_setevent 而非:

  • xp_trace_addnewqueue
  • xp_trace_eventclassrequired
  • xp_trace_seteventclassrequired

用戶必須針對針對每個事件新增的每個數據行執行 sp_trace_setevent 。 在每個執行期間,如果 @on 設定為 1sp_trace_setevent 會將指定的事件新增至追蹤的事件清單。 如果 @on 設定為 0sp_trace_setevent 則會從清單中移除指定的事件。

所有 SQL 追蹤預存程式的參數 (sp_trace_*) 都是嚴格類型。 如果沒有依照引數描述所指定,以正確的輸入參數資料類型來呼叫這些參數,預存程序會傳回錯誤。

如需使用追蹤預存程序的範例,請參閱建立追蹤 (Transact-SQL)

權限

需要 ALTER TRACE 許可權。