扩展事件工具

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

你可以使用以下工具创建和管理 SQL Server 扩展事件会话:

  • 数据定义语言 (DDL) 语句。 这些语句可用于创建和修改扩展事件会话。

  • 动态管理视图、目录视图和系统表。 这些视图和表可用于通过使用 Transact-SQL 语句获取会话数据和元数据。 这些系统表可帮助您确定用于 SQL 跟踪事件类和列的现有扩展事件等效项。

  • 对象资源管理器的 “扩展事件” 节点。 该节点可用于启动、停止或删除会话,或者用于导入和导出会话模板。

  • SQL Server PowerShell 提供程序。 这是一个强大的工具,可用于创建、更改和管理扩展事件会话。 有关详细信息,请参阅 对扩展事件使用 PowerShell 提供程序

  • SQL Server Management Studio。 该工具可用于创建和执行在扩展事件主题中提供的代码示例。 有关详细信息,请参阅 对象资源管理器

除了您创建的会话之外,在服务器上存在一个默认的系统运行状况会话。 该会话收集的系统数据可用于帮助解决性能问题。 有关详细信息,请参阅 使用 system_health 会话

DDL 语句

请以下 DDL 语句可以创建、更改和删除扩展事件会话。

名称 描述
CREATE EVENT SESSION (Transact-SQL) 创建用于标识事件源、事件会话目标和事件会话参数的扩展事件会话对象。
ALTER EVENT SESSION (Transact-SQL) 启动或停止事件会话,或更改事件会话配置。
DROP EVENT SESSION (Transact-SQL) 删除事件会话。

目录视图

使用下面的目录视图可获取创建事件会话时所创建的元数据。

名称 描述
sys.server_event_sessions (Transact-SQL) 列出所有事件会话定义。
sys.server_event_session_actions (Transact-SQL) 返回针对事件会话的每个事件执行的每个操作所对应的行。
sys.server_event_session_events (Transact-SQL) 返回事件会话中每个事件所对应的行。
sys.server_event_session_fields (Transact-SQL) 对在事件和目标上显式设置的每个可自定义列都返回一行。
sys.server_event_session_targets (Transact-SQL) 返回事件会话的每个事件目标所对应的行。

动态管理视图

使用下面的动态管理视图可以获取会话元数据和会话数据。 将从目录视图中获取元数据,当启动并运行事件会话时即创建会话数据。

注意

直到会话启动,这些视图中才会包含会话数据。

名称 描述
sys.dm_os_dispatcher_pools (Transact-SQL) 返回有关会话调度程序池的信息。
sys.dm_xe_objects (Transact-SQL) 对事件包显示的每个对象都返回一行。
sys.dm_xe_object_columns (Transact-SQL) 返回所有对象的架构信息。
sys.dm_xe_packages (Transact-SQL) 列出向扩展事件引擎注册的所有包。
sys.dm_xe_sessions (Transact-SQL) 返回有关处于活动状态的扩展事件会话的信息。
sys.dm_xe_session_targets (Transact-SQL) 返回有关会话目标的信息。
sys.dm_xe_session_events (Transact-SQL) 返回有关会话事件的信息。
sys.dm_xe_session_event_actions (Transact-SQL) 返回有关事件会话操作的信息。
sys.dm_xe_map_values (Transact-SQL) 提供一个从内部数字键到可读文本的映射。
sys.dm_xe_session_object_columns (Transact-SQL) 显示绑定到会话的对象的配置值。

系统表

使用下面的系统表可以获取与 SQL 跟踪事件类和列的扩展事件等效项有关的信息。

名称 描述
trace_xe_event_map (Transact-SQL) 映射到 SQL 跟踪事件类的每个扩展事件各占一行。
trace_xe_action_map (Transact-SQL) 映射到 SQL 跟踪列 ID 的每个扩展事件操作各占一行。

另请参阅

动态管理视图和函数 (Transact-SQL)
目录视图 (Transact-SQL)
SQL Server 扩展事件表 (Transact-SQL)
使用 system_health 会话
对扩展事件使用 PowerShell 提供程序