共用方式為


Performance Statistics 事件類別

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

BinaryData

image

NULL

2

DatabaseID

int

由 USE database 陳述式所指定的資料庫識別碼,或者如果沒有針對指定執行個體發出 USE database 陳述式,則是預設的資料庫。 如果在追蹤中擷取到 ServerName 資料行,而且伺服器可以使用,則 SQL Server Profiler 會顯示資料庫名稱。 使用 DB_ID 函數判斷資料庫的值。

3

EventSequence

int

要求中的給定事件順序。

51

EventSubClass

int

事件子類別的類型。

0 = 目前未顯示在快取中的新批次 SQL 文字。

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

針對查詢數目為 n 的特定批次:

  • 類型 0 之 1

21

IntegerData2

int

NULL

55

ObjectID

int

NULL

22

Offset

int

NULL

61

PlanHandle

Image

NULL

65

SessionLoginName

nvarchar

引發工作階段之使用者的登入名稱。 例如,若您使用 Login1 連接到 SQL Server,並且以 Login2 執行陳述式,則 SessionLoginName 會顯示 Login1,而 LoginName 會顯示 Login2。 此資料行將同時顯示 SQL Server 和 Windows 登入。

64

SPID

int

事件發生所在之工作階段的識別碼。

12

SqlHandle

image

可使用 sys.dm_exec_sql_text 動態管理檢視取得批次 SQL 文字的 SQL 控制代碼。

63

StartTime

datetime

事件啟動的時間 (如果有的話)。

14

TextData

ntext

批次的 SQL 文字。

1

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 的預存程序:

  • 類型 1 之 n 數字

21

IntegerData2

int

預存程序內的陳述式結尾。

-1 代表預存程序的結尾。

55

ObjectID

int

系統指派給物件的識別碼。

22

Offset

int

預存程序或批次內之陳述式的起始位移。

61

SPID

int

事件發生所在之工作階段的識別碼。

12

SqlHandle

image

可使用 dm_exec_sql_text 動態管理檢視取得預存程序 SQL 文字的 SQL 控制代碼。

63

StartTime

datetime

事件啟動的時間 (如果有的話)。

14

TextData

ntext

NULL

1

PlanHandle

image

預存程序之已編譯計畫的計畫控制代碼。 這個控制代碼可利用 sys.dm_exec_query_plan 動態管理檢視取得 XML 計畫。

65

ObjectType

int

代表參與事件之物件類型的值。

8272 = 預存程序

28

BigintData2

bigint

編譯期間使用的總記憶體,以 KB 為單位。

53

CPU

int

編譯期間所花的總 CPU 時間,以毫秒為單位。

18

Duration

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 的特定批次:

  • 類型 2 之 n 數字

21

IntegerData2

int

批次內的陳述式結尾。

-1 代表批次的結尾。

55

ObjectID

int

N/A

22

Offset

int

批次內的陳述式起始位移。

0 代表批次的開頭。

61

SPID

int

事件發生所在之工作階段的識別碼。

12

SqlHandle

image

SQL 控制代碼。 這個控制代碼可利用 dm_exec_sql_text 動態管理檢視取得批次 SQL 文字。

63

StartTime

datetime

事件啟動的時間 (如果有的話)。

14

TextData

ntext

NULL

1

PlanHandle

image

批次之已編譯計畫的計畫控制代碼。 這個計畫控制代碼可利用 dm_exec_query_plan 動態管理檢視取得批次 XML 計畫。

65

BigintData2

bigint

編譯期間使用的總記憶體,以 KB 為單位。

53

CPU

int

編譯期間所花的總 CPU 時間,以百萬分之一秒為單位。

18

Duration

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 的特定批次:

  • 從快取中排清查詢時,類型 3 之 1

針對查詢數目為 n 的預存程序:

  • 從快取中排清查詢時,類型 3 之 1。

21

IntegerData2

int

預存程序或批次內的陳述式結尾。

-1 代表預存程序或批次的結尾。

55

ObjectID

int

NULL

22

Offset

int

預存程序或批次內之陳述式的起始位移。

0 代表預存程序或批次的開頭。

61

SPID

int

事件發生所在之工作階段的識別碼。

12

SqlHandle

image

SQL 控制代碼,這個控制代碼可利用 dm_exec_sql_text 動態管理檢視取得預存程序或批次 SQL 文字。

63

StartTime

datetime

事件啟動的時間 (如果有的話)。

14

TextData

ntext

QueryExecutionStats

1

PlanHandle

image

預存程序或批次的編譯計畫之計畫控制代碼。 這個計畫控制代碼可利用 dm_exec_query_plan 動態管理檢視取得 XML 計畫。

65

GroupID

int

SQL 追蹤事件引發所在之工作負載群組的識別碼。

66

EventSubClass 4

資料行名稱

資料類型

說明

資料行識別碼

可篩選

BigintData1

bigint

NULL

52

BinaryData

image

NULL

2

DatabaseID

int

給定預存程序所在之資料庫的識別碼。

3

EventSequence

int

要求中的給定事件順序。

51

SessionLoginName

nvarchar

引發工作階段之使用者的登入名稱。 例如,若您使用 Login1 連接到 SQL Server,並且以 Login2 執行陳述式,則 SessionLoginName 會顯示 Login1,而 LoginName 會顯示 Login2。 此資料行將同時顯示 SQL Server 和 Windows 登入。

64

EventSubClass

int

事件子類別的類型。

4 = 快取預存程序已經從快取中移除了,而且與它相關聯的記錄效能資料也將被銷毀。

21

IntegerData2

int

NULL

55

ObjectID

int

預存程序的識別碼。 這個識別碼與 sys.procedures 中的 object_id 資料行相同。

22

Offset

int

NULL

61

SPID

int

事件發生所在之工作階段的識別碼。

12

SqlHandle

image

SQL 控制代碼,這個控制代碼可利用 dm_exec_sql_text 動態管理檢視取得已執行之預存程序 SQL 文字。

63

StartTime

datetime

事件啟動的時間 (如果有的話)。

14

TextData

ntext

ProcedureExecutionStats

1

PlanHandle

image

預存程序之已編譯計畫的計畫控制代碼。 這個計畫控制代碼可利用 dm_exec_query_plan 動態管理檢視取得 XML 計畫。

65

GroupID

int

SQL 追蹤事件引發所在之工作負載群組的識別碼。

66

EventSubClass 5

資料行名稱

資料類型

說明

資料行識別碼

可篩選

BigintData1

bigint

NULL

52

BinaryData

image

NULL

2

DatabaseID

int

給定觸發程序所在之資料庫的識別碼。

3

EventSequence

int

要求中的給定事件順序。

51

SessionLoginName

nvarchar

引發工作階段之使用者的登入名稱。 例如,若您使用 Login1 連接到 SQL Server,並且以 Login2 執行陳述式,則 SessionLoginName 會顯示 Login1,而 LoginName 會顯示 Login2。 此資料行將同時顯示 SQL Server 和 Windows 登入。

64

EventSubClass

int

事件子類別的類型。

5 = 快取觸發程序已經從快取中移除了,而且與它相關聯的記錄效能資料也將被銷毀。

21

IntegerData2

int

NULL

55

ObjectID

int

觸發程序的識別碼。 這個識別碼與 sys.triggers/sys.server_triggers 目錄檢視中的 object_id 資料行相同。

22

Offset

int

NULL

61

SPID

int

事件發生所在之工作階段的識別碼。

12

SqlHandle

image

SQL 控制代碼,這個控制代碼可利用 dm_exec_sql_text 動態管理檢視取得觸發程序的 SQL 文字。

63

StartTime

datetime

事件啟動的時間 (如果有的話)。

14

TextData

ntext

TriggerExecutionStats

1

PlanHandle

image

觸發程序之已編譯計畫的計畫控制代碼。 這個計畫控制代碼可利用 dm_exec_query_plan 動態管理檢視取得 XML 計畫。

65

GroupID

int

SQL 追蹤事件引發所在之工作負載群組的識別碼。

66

請參閱

參考

sp_trace_setevent (Transact-SQL)

Showplan XML For Query Compile 事件類別

動態管理檢視和函數 (Transact-SQL)

概念

擴充事件