sys.dm_xe_sessions (Transact-SQL)
返回有关处于活动状态的扩展事件会话的信息。该会话是事件、操作和目标的集合。
列名 |
数据类型 |
说明 |
---|---|---|
address |
varbinary(8) |
会话的内存地址。address 在本地系统中是唯一的。不可为 Null。 |
name |
nvarchar(256) |
会话的名称。name 在本地系统中是唯一的。不可为 Null。 |
pending_buffers |
int |
正在挂起处理的已满缓冲区的数量。不可为 Null。 |
total_regular_buffers |
int |
与会话相关联的常规缓冲区的总数。不可为 Null。
注意
大多数时候都在使用常规缓冲区。这类缓冲区很大,足以容纳大量事件。每个会话通常有三个或更多缓冲区。常规缓冲区的数目由服务器根据通过 MEMORY_PARTITION_MODE 选项设置的内存分区自动确定。常规缓冲区的大小等于 MAX_MEMORY 选项的值(默认值为 4 MB)除以缓冲区的数目。有关 MEMORY_PARTITION_MODE 和 MAX_MEMORY 选项的详细信息,请参阅 CREATE EVENT SESSION (Transact-SQL)。
|
regular_buffer_size |
bigint |
常规缓冲区的大小(以字节为单位)。不可为 Null。 |
total_large_buffers |
int |
大型缓冲区的总数。不可为 Null。
注意
当事件大于常规缓冲区时,将用到大型缓冲区。为此,需要显式保留这类缓冲区。大型缓冲区在事件会话启动时分配,并根据 MAX_EVENT_SIZE 选项确定大小。有关 MAX_EVENT_SIZE 选项的详细信息,请参阅 CREATE EVENT SESSION (Transact-SQL)。
|
large_buffer_size |
bigint |
大型缓冲区的大小(以字节为单位)。不可为 Null。 |
total_buffer_size |
bigint |
用于存储会话事件的内存缓冲区的总大小(以字节为单位)。不可为 Null。 |
buffer_policy_flags |
int |
指示会话事件缓冲区在所有缓冲区已满并且一个新事件被激发时的行为的位图。不可为 Null。 |
buffer_policy_desc |
nvarchar(256) |
指示会话事件缓冲区在所有缓冲区已满并且一个新事件被激发时的行为的说明。buffer_policy_desc 可以是下列选项之一:
不可为 Null。 |
flags |
int |
指示已对会话设置的标志的位图。不可为 Null。 |
flag_desc |
nvarchar(256) |
关于对会话设置的标志的说明。flag_desc 可以是下列选项任意项的组合:
不可为 Null。 |
dropped_event_count |
int |
缓冲区已满时删除的事件数。如果缓冲区策略是“删除已满缓冲区”或“不删除事件”,则此值是 0。不可为 Null。 |
dropped_buffer_count |
int |
缓冲区已满时删除的缓冲区数。如果缓冲区策略设置为“删除事件”或“不删除事件”,则此值为 0。不可为 Null。 |
blocked_event_fire_time |
int |
缓冲区已满时事件触发受阻的时间长度。如果缓冲区策略是“删除已满缓冲区”或“删除事件”,则此值为 0。不可为 Null。 |
create_time |
datetime |
会话的创建时间。不可为 Null。 |
largest_event_dropped_size |
int |
不适合会话缓冲区的最大事件大小。不可为 Null。 |
权限
要求对服务器拥有 VIEW SERVER STATE 权限。
更改历史记录
更新的内容 |
---|
更正了 name 和 blocked_event_fire_time 列的数据类型。 |
删除了 buffer_size 和 total_buffers 列。 |
添加了 total_regular_buffers、regular_buffer_size、total_large_buffers、large_buffer_size 和 total_buffer_size 列。 |