分享方式:


Performance Statistics 事件類別

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

Performance Statistics 事件類別可用來監視正在執行的查詢、預存程式和觸發程式的效能。 這六個事件子類別中的每一個都會指出系統中查詢、預存程式和觸發程式的存留期中的事件。 您可以使用這些事件子類別和相關聯的sys.dm_exec_query_stats、sys.dm_exec_procedure_stats和sys.dm_exec_trigger_stats動態管理檢視的組合,重新建立任何指定查詢、預存程式或觸發程式的效能歷程記錄。

Performance Statistics 事件類別數據行

下表描述與下列每個事件子類別相關聯的事件類別數據行:EventSubClass 0、EventSubClass 1、EventSubClass 2、EventSubClass 3、EventSubClass 4 和 EventSubClass 5。

EventSubClass 0

數據行名稱 資料類型 描述 資料行識別碼 可篩選
BigintData1 bigint NULL 52 Yes
BinaryData image NULL 2 Yes
DatabaseID int 如果指定的實例未發出USE database語句,則為USE database語句或預設資料庫所指定的資料庫標識碼。 如果在追蹤中擷取到 ServerName 資料行且伺服器可用,SQL Server Profiler 便會顯示資料庫的名稱。 請使用 DB_ID 函數判斷資料庫的值。 3 Yes
EventSequence int 要求內指定事件的順序。 51 No
EventSubClass int 事件子類別的類型。

0 = 快取中目前不存在的新批次 SQL 文字。

下列 EventSubClass 類型會在特定批次的追蹤中產生。

針對具有 n 個查詢數目的臨機操作批次:

類型 0 的 1
21 Yes
IntegerData2 int NULL 55 Yes
ObjectID int NULL 22 Yes
Offset int NULL 61 Yes
PlanHandle 映像 NULL 65 Yes
SessionLoginName nvarchar 產生工作階段之使用者的登入名稱。 例如,如果您使用Login1連接到SQL Server,並以Login2的形式執行語句,SessionLoginName 會顯示Login1,而LoginName 會顯示Login2。 此數據行會顯示 SQL Server 和 Windows 登入。 64 Yes
SPID int 事件發生所在之工作階段的識別碼。 12 Yes
SqlHandle image SQL 句柄,可用來使用sys.dm_exec_sql_text動態管理檢視來取得批次 SQL 文字。 63 Yes
StartTime datetime 如果有的話,事件開始的時間。 14 Yes
TextData ntext 批次的 SQL 文字。 1 Yes

EventSubClass 1

數據行名稱 資料類型 描述 資料行識別碼 可篩選
BigintData1 bigint 此計劃已重新編譯的累計次數。 52 Yes
BinaryData image 已編譯計劃的二進位 XML。 2 Yes
DatabaseID int 如果指定的實例未發出USE database語句,則為USE database語句或預設資料庫所指定的資料庫標識碼。 如果在追蹤中擷取到 ServerName 資料行且伺服器可用,SQL Server Profiler 便會顯示資料庫的名稱。 請使用 DB_ID 函數判斷資料庫的值。 3 Yes
EventSequence int 要求內指定事件的順序。 51 No
SessionLoginName nvarchar 產生工作階段之使用者的登入名稱。 例如,如果您使用Login1連接到SQL Server,並以Login2的形式執行語句,SessionLoginName 會顯示Login1,而LoginName 會顯示Login2。 此數據行會顯示 SQL Server 和 Windows 登入。 64 Yes
EventSubClass int 事件子類別的類型。

1 = 已編譯預存程式內的查詢。

下列 EventSubClass 類型會在預存程式的追蹤中產生。

針對具有 n 個查詢數目的預存程式:

n 類型 1 的數目
21 Yes
IntegerData2 int 預存程式內的語句結尾。

預存程式結尾的 -1。
55 Yes
ObjectID int 對象的系統指派標識碼。 22 Yes
Offset int 在預存程式或批次內開始語句的位移。 61 Yes
SPID int 事件發生所在之工作階段的識別碼。 12 Yes
SqlHandle image SQL 句柄,可用來使用 dm_exec_sql_text動態管理檢視來取得預存程式的 SQL 文字。 63 Yes
StartTime datetime 如果有的話,事件開始的時間。 14 Yes
TextData ntext NULL 1 Yes
PlanHandle image 預存程式的已編譯計劃計劃句柄。 這可用來使用 sys.dm_exec_query_plan 動態管理檢視來取得 XML 計劃。 65 Yes
ObjectType int 值,表示事件所涉及的物件類型。

8272 = 預存程式
28 Yes
BigintData2 bigint 編譯期間所使用的記憶體總計,以 KB 為單位。 53 Yes
CPU int 在編譯期間花費的總 CPU 時間,以毫秒為單位。 18 Yes
期間 int 編譯期間所花費的時間總計,以微秒為單位。 13 Yes
IntegerData int 已編譯計劃的大小,以 KB 為單位。 25 Yes

EventSubClass 2

數據行名稱 資料類型 描述 資料行識別碼 可篩選
BigintData1 bigint 此計劃已重新編譯的累計次數。 52 Yes
BinaryData image 已編譯計劃的二進位 XML。 2 Yes
DatabaseID int 如果指定的實例未發出USE database語句,則為USE database語句或預設資料庫所指定的資料庫標識碼。 如果在追蹤中擷取到 ServerName 資料行且伺服器可用,SQL Server Profiler 便會顯示資料庫的名稱。 請使用 DB_ID 函數判斷資料庫的值。 3 Yes
EventSequence int 要求內指定事件的順序。 51 No
SessionLoginName nvarchar 產生工作階段之使用者的登入名稱。 例如,如果您使用Login1連接到SQL Server,並以Login2的形式執行語句,SessionLoginName 會顯示Login1,而LoginName 會顯示Login2。 此數據行會顯示 SQL Server 和 Windows 登入。 64 Yes
EventSubClass int 事件子類別的類型。

2 = 已編譯臨機操作 SQL 語句內的查詢。

下列 EventSubClass 類型會在特定批次的追蹤中產生。

針對具有 n 個查詢數目的臨機操作批次:

n 類型 2 的數目
21 Yes
IntegerData2 int 批次內的語句結尾。

批次結尾的 -1。
55 Yes
ObjectID int N/A 22 Yes
Offset int 批次中語句的起始位移。

0 代表批次的開頭。
61 Yes
SPID int 事件發生所在之工作階段的識別碼。 12 Yes
SqlHandle image SQL 句柄。 這可用來使用dm_exec_sql_text動態管理檢視來取得批次 SQL 文字。 63 Yes
StartTime datetime 如果有的話,事件開始的時間。 14 Yes
TextData ntext NULL 1 Yes
PlanHandle image 批次之已編譯計劃的計劃句柄。 這可用來使用dm_exec_query_plan動態管理檢視來取得批次 XML 計劃。 65 Yes
BigintData2 bigint 編譯期間所使用的記憶體總計,以 KB 為單位。 53 Yes
CPU int 總 CPU 時間,以微秒為單位,花費在編譯期間。 18 Yes
期間 int 總時間,以毫秒為單位,花費在編譯期間。 13 Yes
IntegerData int 已編譯計劃的大小,以 KB 為單位。 25 Yes

EventSubClass 3

數據行名稱 資料類型 描述 資料行識別碼 可篩選
BigintData1 bigint 此計劃已重新編譯的累計次數。 52 Yes
BinaryData image NULL 2 Yes
DatabaseID int 如果指定的實例未發出USE database語句,則為USE database語句或預設資料庫所指定的資料庫標識碼。 如果在追蹤中擷取到 ServerName 資料行且伺服器可用,SQL Server Profiler 便會顯示資料庫的名稱。 請使用 DB_ID 函數判斷資料庫的值。 3 Yes
EventSequence int 要求內指定事件的順序。 51 No
SessionLoginName nvarchar 產生工作階段之使用者的登入名稱。 例如,如果您使用Login1連接到SQL Server,並以Login2的形式執行語句,SessionLoginName 會顯示Login1,而LoginName 會顯示Login2。 此數據行會顯示 SQL Server 和 Windows 登入。 64 Yes
EventSubClass int 事件子類別的類型。

3 = 快取查詢已終結,且與計劃相關聯的歷程記錄效能數據即將終結。

追蹤中會產生下列 EventSubClass 類型。

針對具有 n 個查詢數目的臨機操作批次:

從快取排清查詢時,類型為 3 的 1

針對具有 n 個查詢數目的預存程式:

從快取排清查詢時,類型為 3 的 1。
21 Yes
IntegerData2 int 預存程式或批次內的語句結尾。

-1 表示預存程式或批次的結尾。
55 Yes
ObjectID int NULL 22 Yes
Offset int 在預存程式或批次內開始語句的位移。

0 表示預存程式或批次的開頭。
61 Yes
SPID int 事件發生所在之工作階段的識別碼。 12 Yes
SqlHandle image SQL 句柄,可用來使用 dm_exec_sql_text動態管理檢視來取得預存程式或批次 SQL 文字。 63 Yes
StartTime datetime 如果有的話,事件開始的時間。 14 Yes
TextData ntext QueryExecutionStats 1 Yes
PlanHandle image 預存程式或批次之已編譯計劃的計劃句柄。 這可用來使用dm_exec_query_plan動態管理檢視來取得 XML 計劃。 65 Yes
GroupID int SQL 追蹤事件引發之工作負載群組的標識碼。 66 Yes

EventSubClass 4

數據行名稱 資料類型 描述 資料行識別碼 可篩選
BigintData1 bigint NULL 52 Yes
BinaryData image NULL 2 Yes
DatabaseID int 指定預存程式所在的資料庫識別碼。 3 Yes
EventSequence int 要求內指定事件的順序。 51 No
SessionLoginName nvarchar 產生工作階段之使用者的登入名稱。 例如,如果您使用Login1連接到SQL Server,並以Login2的形式執行語句,SessionLoginName 會顯示Login1,而LoginName 會顯示Login2。 此數據行會顯示 SQL Server 和 Windows 登入。 64 Yes
EventSubClass int 事件子類別的類型。

4 = 快取預存程式已從快取中移除,且與快取相關聯的歷程記錄效能數據即將終結。
21 Yes
IntegerData2 int NULL 55 Yes
ObjectID int 預存程式的識別碼。 這與 sys.procedures 中的 object_id 數據行相同。 22 Yes
Offset int NULL 61 Yes
SPID int 事件發生所在之工作階段的識別碼。 12 Yes
SqlHandle image SQL 句柄,可用來取得使用 dm_exec_sql_text動態管理檢視執行之預存程式 SQL 文字。 63 Yes
StartTime datetime 如果有的話,事件開始的時間。 14 Yes
TextData ntext ProcedureExecutionStats 1 Yes
PlanHandle image 預存程式的已編譯計劃計劃句柄。 這可用來使用dm_exec_query_plan動態管理檢視來取得 XML 計劃。 65 Yes
GroupID int SQL 追蹤事件引發之工作負載群組的標識碼。 66 Yes

EventSubClass 5

數據行名稱 資料類型 描述 資料行識別碼 可篩選
BigintData1 bigint NULL 52 Yes
BinaryData image NULL 2 Yes
DatabaseID int 指定觸發程式所在的資料庫識別碼。 3 Yes
EventSequence int 要求內指定事件的順序。 51 No
SessionLoginName nvarchar 產生工作階段之使用者的登入名稱。 例如,如果您使用Login1連接到SQL Server,並以Login2的形式執行語句,SessionLoginName 會顯示Login1,而LoginName 會顯示Login2。 此數據行會顯示 SQL Server 和 Windows 登入。 64 Yes
EventSubClass int 事件子類別的類型。

5 = 快取觸發程式已從快取中移除,且與快取相關聯的歷程記錄效能數據即將終結。
21 Yes
IntegerData2 int NULL 55 Yes
ObjectID int 觸發程式的標識碼。 這與 sys.triggers/sys.server_triggers 目錄檢視中的object_id數據行相同。 22 Yes
Offset int NULL 61 Yes
SPID int 事件發生所在之工作階段的識別碼。 12 Yes
SqlHandle image SQL 句柄,可用來使用dm_exec_sql_text動態管理檢視來取得觸發程式的 SQL 文字。 63 Yes
StartTime datetime 如果有的話,事件開始的時間。 14 Yes
TextData ntext TriggerExecutionStats 1 Yes
PlanHandle image 觸發程式的已編譯計劃計劃句柄。 這可用來使用dm_exec_query_plan動態管理檢視來取得 XML 計劃。 65 Yes
GroupID int SQL 追蹤事件引發之工作負載群組的標識碼。 66 Yes

另請參閱

擴充事件
sp_trace_setevent (Transact-SQL)
Showplan XML for Query Compile 事件類別
動態管理檢視和函數 (Transact-SQL)