Performance Statistics 事件類別
更新: 2006 年 12 月 12 日
Performance Statistics 事件類別可用來監視正在執行的查詢效能。其四個事件子類別,各代表了系統中查詢存留時間內的一項事件。使用這些事件子類別的組合以及相關聯的 sys.dm_exec_query_stats 動態管理檢視 (DMV),可以重新組成任何給定查詢的效能歷程記錄。
Performance Statistics 事件類別資料行
下列表格會描述與下面每個事件子類別相關聯的事件類別資料行:EventSubClass 0、EventSubClass 1、EventSubClass 2 和 EventSubClass 3。
EventSubClass 0
資料行名稱 | 資料類型 | 描述 | 資料行識別碼 | 可篩選 |
---|---|---|---|---|
BigintData1 |
bigint |
NULL |
52 |
是 |
BinaryData |
image |
NULL |
2 |
是 |
DatabaseID |
int |
USE database 陳述式所指定之資料庫的識別碼,而如果未針對特定執行個體發出 USE database 陳述式,則是預設資料庫的識別碼。如果追蹤裡擷取了 ServerName 資料行,而且伺服器可以使用,SQL Server Profiler 就會顯示資料庫的名稱。請使用 DB_ID 函數判斷資料庫的值。 |
3 |
是 |
EventSequence |
int |
要求中的給定事件順序。 |
51 |
否 |
SessionLoginName |
nvarchar |
引發工作階段之使用者的登入名稱。例如,如果您使用 Login1 連接到 SQL Server,並以 Login2 執行陳述式,則 SessionLoginName 將顯示 Login1 而 LoginName 則顯示 Login2。此資料行將同時顯示 SQL Server 和 Windows 登入。 |
64 |
是 |
EventSubClass |
int |
事件子類別的類型。 0 = 目前未顯示在快取中的新批次 SQL 文字。 特定批次的追蹤會產生下列 EventSubClass 類型。 針對查詢數目為 n 的特定批次:
|
21 |
是 |
IntegerData2 |
int |
NULL |
55 |
是 |
ObjectID |
int |
NULL |
22 |
是 |
Offset |
int |
NULL |
61 |
是 |
SPID |
int |
事件發生所在之工作階段的識別碼。 |
12 |
是 |
SqlHandle |
image |
可使用 dm_exec_sql_text DMV 取得批次 SQL 文字的 SQL 控制代碼。 |
63 |
是 |
StartTime |
datetime |
事件啟動的時間 (如果有的話)。 |
14 |
是 |
TextData |
ntext |
批次的 SQL 文字。 |
1 |
是 |
PlanHandle |
Image |
NULL |
65 |
是 |
EventSubClass 1
資料行名稱 | 資料類型 | 描述 | 資料行識別碼 | 可篩選 |
---|---|---|---|---|
BigintData1 |
bigint |
重新編譯這個計劃的累加次數。 |
52 |
是 |
BinaryData |
image |
已編譯計劃的二進位 XML。 |
2 |
是 |
DatabaseID |
int |
USE database 陳述式所指定之資料庫的識別碼,而如果未針對特定執行個體發出 USE database 陳述式,則是預設資料庫的識別碼。如果追蹤裡擷取了 ServerName 資料行,而且伺服器可以使用,SQL Server Profiler 就會顯示資料庫的名稱。請使用 DB_ID 函數判斷資料庫的值。 |
3 |
是 |
EventSequence |
int |
要求中的給定事件順序。 |
51 |
否 |
SessionLoginName |
nvarchar |
引發工作階段之使用者的登入名稱。例如,如果您使用 Login1 連接到 SQL Server,並以 Login2 執行陳述式,則 SessionLoginName 將顯示 Login1 而 LoginName 則顯示 Login2。此資料行將同時顯示 SQL Server 和 Windows 登入。 |
64 |
是 |
EventSubClass |
int |
事件子類別的類型。 1 = 預存程序內的已編譯查詢。 預存程序的追蹤會產生下列 EventSubClass 類型。 針對查詢數目為 n 的預存程序:
|
21 |
是 |
IntegerData2 |
int |
預存程序內的陳述式結尾。 -1 代表預存程序的結尾。 |
55 |
是 |
ObjectID |
int |
系統指派給物件的識別碼。 |
22 |
是 |
Offset |
int |
預存程序或批次內之陳述式的起始位移。 |
61 |
是 |
SPID |
int |
事件發生所在之工作階段的識別碼。 |
12 |
是 |
SqlHandle |
image |
可使用 dm_exec_sql_text DMV 取得預存程序 SQL 文字的 SQL 控制代碼。 |
63 |
是 |
StartTime |
datetime |
事件啟動的時間 (如果有的話)。 |
14 |
是 |
TextData |
ntext |
NULL |
1 |
是 |
PlanHandle |
image |
預存程序之已編譯計劃的計劃控制代碼。這可使用 dm_exec_query_plan DMV,取得 XML 計劃。 |
65 |
是 |
ObjectType |
int |
代表參與事件之物件類型的值。 8272 = 預存程序 |
28 |
是 |
BigintData2 |
bigint |
編譯期間使用的總記憶體,以 KB 為單位。 |
53 |
是 |
CPU |
int |
編譯期間所花的總 CPU 時間,以毫秒為單位。 |
18 |
是 |
持續時間 |
int |
編譯期間所用的總時間,以百萬分之一秒為單位。 |
13 |
是 |
IntegerData |
int |
已編譯計劃的大小,以 KB 為單位。 |
25 |
是 |
EventSubClass 2
資料行名稱 | 資料類型 | 描述 | 資料行識別碼 | 可篩選 |
---|---|---|---|---|
BigintData1 |
bigint |
重新編譯這個計劃的累加次數。 |
52 |
是 |
BinaryData |
image |
已編譯計劃的二進位 XML。 |
2 |
是 |
DatabaseID |
int |
USE database 陳述式所指定之資料庫的識別碼,而如果未針對特定執行個體發出 USE database 陳述式,則是預設資料庫的識別碼。如果追蹤裡擷取了 ServerName 資料行,而且伺服器可以使用,SQL Server Profiler 就會顯示資料庫的名稱。請使用 DB_ID 函數判斷資料庫的值。 |
3 |
是 |
EventSequence |
int |
要求中的給定事件順序。 |
51 |
否 |
SessionLoginName |
nvarchar |
引發工作階段之使用者的登入名稱。例如,如果您使用 Login1 連接到 SQL Server,並以 Login2 執行陳述式,則 SessionLoginName 將顯示 Login1 而 LoginName 則顯示 Login2。此資料行將同時顯示 SQL Server 和 Windows 登入。 |
64 |
是 |
EventSubClass |
int |
事件子類別的類型。 2 = 特定 SQL 陳述式內的已編譯查詢。 特定批次的追蹤會產生下列 EventSubClass 類型。 針對查詢數目為 n 的特定批次:
|
21 |
是 |
IntegerData2 |
int |
批次內的陳述式結尾。 -1 代表批次的結尾。 |
55 |
是 |
ObjectID |
int |
無 |
22 |
是 |
Offset |
int |
批次內的陳述式起始位移。 0 代表批次的開頭。 |
61 |
是 |
SPID |
int |
事件發生所在之工作階段的識別碼。 |
12 |
是 |
SqlHandle |
image |
SQL 控制代碼。這可使用 dm_exec_sql_text DMV 取得批次 SQL 文字。 |
63 |
是 |
StartTime |
datetime |
事件啟動的時間 (如果有的話)。 |
14 |
是 |
TextData |
ntext |
NULL |
1 |
是 |
PlanHandle |
Image |
批次之已編譯計劃的計劃控制代碼。這可使用 dm_exec_query_plan DMV,取得批次 XML 計劃。 |
65 |
是 |
BigintData2 |
bigint |
編譯期間使用的總記憶體,以 KB 為單位。 |
53 |
是 |
CPU |
Int |
編譯期間所花的總 CPU 時間,以百萬分之一秒為單位。 |
18 |
是 |
持續時間 |
int |
編譯期間所用的總時間,以毫秒為單位。 |
13 |
是 |
IntegerData |
Int |
已編譯計劃的大小,以 KB 為單位。 |
25 |
是 |
EventSubClass 3
資料行名稱 | 資料類型 | 描述 | 資料行識別碼 | 可篩選 |
---|---|---|---|---|
BigintData1 |
bigint |
重新編譯這個計劃的累加次數。 |
52 |
是 |
BinaryData |
image |
NULL |
2 |
是 |
DatabaseID |
int |
USE database 陳述式所指定之資料庫的識別碼,而如果未針對特定執行個體發出 USE database 陳述式,則是預設資料庫的識別碼。如果追蹤裡擷取了 ServerName 資料行,而且伺服器可以使用,SQL Server Profiler 就會顯示資料庫的名稱。請使用 DB_ID 函數判斷資料庫的值。 |
3 |
是 |
EventSequence |
int |
要求中的給定事件順序。 |
51 |
否 |
SessionLoginName |
nvarchar |
引發工作階段之使用者的登入名稱。例如,如果您使用 Login1 連接到 SQL Server,並以 Login2 執行陳述式,則 SessionLoginName 將顯示 Login1 而 LoginName 則顯示 Login2。此資料行將同時顯示 SQL Server 和 Windows 登入。 |
64 |
是 |
EventSubClass |
int |
事件子類別的類型。 3 = 快取查詢已銷毀,該計劃相關聯的歷程記錄效能資料也將被銷毀。 追蹤會產生下列 EventSubClass 類型。 針對查詢數目為 n 的特定批次:
針對查詢數目為 n 的預存程序:
|
21 |
是 |
IntegerData2 |
int |
預存程序或批次內的陳述式結尾。 -1 代表預存程序或批次的結尾。 |
55 |
是 |
ObjectID |
int |
NULL |
22 |
是 |
Offset |
int |
預存程序或批次內之陳述式的起始位移。 0 代表預存程序或批次的開頭。 |
61 |
是 |
SPID |
int |
事件發生所在之工作階段的識別碼。 |
12 |
是 |
SqlHandle |
image |
可使用 dm_exec_sql_text DMV 取得預存程序或批次 SQL 文字的 SQL 控制代碼。 |
63 |
是 |
StartTime |
datetime |
事件啟動的時間 (如果有的話)。 |
14 |
是 |
TextData |
ntext |
QueryExecutionStats |
1 |
是 |
PlanHandle |
image |
預存程序或批次的編譯計劃之計劃控制代碼。透過 dm_exec_query_plan DMV 使用此項目,可取得 XML 計劃。 |
65 |
是 |
請參閱
參考
Showplan XML For Query Compile 事件類別
其他資源
監視事件
sp_trace_setevent (Transact-SQL)
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 12 月 12 日 |
|