sp_trace_setevent (Transact-SQL)
適用於:SQL Server
將事件或事件數據行加入或移除至追蹤。 sp_trace_setevent
只能在已停止的現有追蹤上執行 (@status 為 0
)。 如果這個預存程式是在不存在的追蹤上執行,或是 其@status 不是 0
,就會傳回錯誤。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用擴充事件。
語法
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_addlogin 與 sp_droplogin 。 |
105 |
Audit Login GDR Event |
新增或移除 Windows 登入許可權時發生;針對 sp_grantlogin 、 sp_revokelogin 與 sp_denylogin 。 |
106 |
Audit Login Change Property Event |
發生於修改密碼以外的登入屬性時;針對 sp_defaultdb 與 sp_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_grantdbaccess 、 sp_revokedbaccess 、 sp_adduser 和 sp_dropuser 。 |
110 |
Audit Add Member to DB Role Event |
在將登入新增或移除為資料庫用戶時發生(固定或使用者定義)加入或移除資料庫時;針對 sp_addrolemember 、 sp_droprolemember 與 sp_changegroup 。 |
111 |
Audit Add Role Event |
當以資料庫使用者身分加入或移除登入時發生;針對 sp_addrole 與 sp_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 |
查詢範本代表訂用帳戶查詢的類別。 一般而言,相同類別中的查詢會相同,但參數值除外。 當新的訂用帳戶要求落入現有類別 ()、新類別 (Match Create ) 或 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:StmtStarting , LineNumber 包含預存程式或批次中的 語句行號。 |
6 |
NTUserName |
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:BatchStarting 或 SP:Starting 。 事件也不會填入 Hash Warning 。 |
16 |
Reads |
伺服器代表事件執行的邏輯磁碟讀取數目。 此數據行不會由 Lock:Released 事件填入。 |
17 |
Writes |
伺服器代表事件執行的實體磁碟寫入數目。 |
18 |
CPU |
事件所使用的 CPU 時間量 (以毫秒為單位)。 |
19 |
Permissions |
表示許可權的點圖;安全性稽核所使用的 。 |
20 |
Severity |
例外狀況的嚴重性層級。 |
21 |
EventSubClass |
事件子類別的類型。 此資料行不會針對所有事件類別填入。 |
22 |
ObjectID |
對象的系統指派標識碼。 |
23 |
Success |
許可權使用嘗試成功;用於稽核。1 = success0 = 失敗 |
24 |
IndexID |
受事件影響之物件索引的標識碼。 若要判斷物件的索引標識碼,請使用 indid 系統數據表的數據 sysindexes 行。 |
25 |
IntegerData |
相依於追蹤中擷取的事件類別的整數值。 |
26 |
ServerName |
要追蹤的 SQL Server 實例名稱、 servername 或 servername\instancename。 |
27 |
EventClass |
要記錄的事件類別類型。 |
28 |
ObjectType |
對象的類型,例如:table、function 或預存程式。 |
29 |
NestLevel |
這個預存程式執行所在的巢狀層級。 請參閱 @@NESTLEVEL。 |
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 = system0 = user。 |
61 |
Offset |
在預存程式或批次內開始語句的位移。 |
62 |
SourceDatabaseID |
物件來源所在的資料庫標識碼。 |
63 |
SqlHandle |
64 位哈希,以臨機操作查詢的文字或 SQL 物件的資料庫和物件識別碼為基礎。 這個值可以傳遞至 sys.dm_exec_sql_text() 以擷取相關聯的SQL文字。 |
64 |
SessionLoginName |
引發工作階段的使用者登入名稱。 例如,如果您使用 連接到 SQL ServerLogin1 ,並以的形式執行 語句Login2 ,SessionLoginName 則會在 顯示 時LoginName 顯示 Login1 Login2 。 此資料行會同時顯示 SQL Server 和 Windows 登入資料。 |
[ @on = ] on
指定啟用 (1
) 或停用事件0
。 @on為 bit,沒有預設值。
如果@on設定為 1
,且 @columnid 為 NULL
,則事件會設定為 ON
,而且會清除所有數據行。 如果 @columnid 不是 Null,則該事件的數據行會設定為 ON。
如果@on設定為 0
,且 @columnid 為 NULL
,則會開啟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 設定為 1
, sp_trace_setevent
會將指定的事件新增至追蹤的事件清單。 如果 @on 設定為 0
, sp_trace_setevent
則會從清單中移除指定的事件。
所有 SQL 追蹤預存程式的參數 (sp_trace_*
) 都是嚴格類型。 如果沒有依照引數描述所指定,以正確的輸入參數資料類型來呼叫這些參數,預存程序會傳回錯誤。
如需使用追蹤預存程式的範例,請參閱 建立追蹤。
權限
需要 ALTER TRACE 許可權。