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
数据列名称 | 数据类型 | 说明 | 列 ID | 可筛选 |
---|---|---|---|---|
BigintData1 |
bigint |
NULL |
52 |
是 |
BinaryData |
image |
NULL |
2 |
是 |
DatabaseID |
int |
USE database 语句所指定的数据库的 ID;如果没有对给定的实例执行 USE database 语句,则为默认数据库的 ID。如果在跟踪中捕获到 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 |
发生该事件的会话 ID。 |
12 |
是 |
SqlHandle |
image |
可通过 dm_exec_sql_text DMV 获取批查询 SQL 文本的 SQL 句柄。 |
63 |
是 |
StartTime |
datetime |
该事件(如果存在)的启动时间。 |
14 |
是 |
TextData |
ntext |
批查询的 SQL 文本。 |
1 |
是 |
PlanHandle |
Image |
NULL |
65 |
是 |
EventSubClass 1
数据列名称 | 数据类型 | 说明 | 列 ID | 可筛选 |
---|---|---|---|---|
BigintData1 |
bigint |
重新编译此计划的累积次数。 |
52 |
是 |
BinaryData |
image |
已编译计划的二进制 XML。 |
2 |
是 |
DatabaseID |
int |
USE database 语句所指定的数据库的 ID;如果没有对给定的实例执行 USE database 语句,则为默认数据库的 ID。如果在跟踪中捕获到 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 |
系统分配的对象 ID。 |
22 |
是 |
Offset |
int |
语句在存储过程或批处理中的起始偏移量。 |
61 |
是 |
SPID |
int |
发生该事件的会话 ID。 |
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 |
是 |
Duration |
int |
编译过程中所用的总时间(毫秒)。 |
13 |
是 |
IntegerData |
int |
编译计划的大小 (KB)。 |
25 |
是 |
EventSubClass 2
数据列名称 | 数据类型 | 说明 | 列 ID | 可筛选 |
---|---|---|---|---|
BigintData1 |
bigint |
重新编译此计划的累积次数。 |
52 |
是 |
BinaryData |
image |
已编译计划的二进制 XML。 |
2 |
是 |
DatabaseID |
int |
USE database 语句所指定的数据库的 ID;如果没有对给定的实例执行 USE database 语句,则为默认数据库的 ID。如果在跟踪中捕获到 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 |
发生该事件的会话 ID。 |
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 |
是 |
Duration |
int |
编译过程中所用的总时间(毫秒)。 |
13 |
是 |
IntegerData |
Int |
编译计划的大小 (KB)。 |
25 |
是 |
EventSubClass 3
数据列名称 | 数据类型 | 说明 | 列 ID | 可筛选 |
---|---|---|---|---|
BigintData1 |
bigint |
重新编译此计划的累积次数。 |
52 |
是 |
BinaryData |
image |
NULL |
2 |
是 |
DatabaseID |
int |
USE database 语句所指定的数据库的 ID;如果没有对给定的实例执行 USE database 语句,则为默认数据库的 ID。如果在跟踪中捕获到 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 |
发生该事件的会话 ID。 |
12 |
是 |
SqlHandle |
image |
可使用该句柄通过 dm_exec_sql_text DMV 来获取存储过程或批查询的 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 日 |
|