扩展事件引擎
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
扩展事件引擎是具有以下功能的服务和对象的集合:
- 可以定义事件
- 可以处理事件数据
- 管理系统中的扩展事件服务和对象
- 维护扩展事件会话列表并管理对该列表的访问
扩展事件引擎本身并不提供任何事件,也不提供在事件激发时要采取的操作。 使用扩展事件引擎的进程定义与引擎之间的交互。 这些进程用于添加事件点并提供为了响应事件激发而要采取的操作。
下图是扩展事件会话的一个简化视图。 有关详细信息,请参阅扩展事件会话。
- 每个 Windows 进程都拥有一个或多个模块(
Win32 process
、Win32 module
),也称为二进制或可执行模块。 - 每个 Windows 进程模块都可以包含一个或多个扩展事件包 (
Package
),而扩展事件包则包含一个或多个扩展事件对象(Type
、Target
、Action
、Map
、Predicate
和Event
)。 - 在主机进程中只能有一个扩展事件引擎实例(
Extended event engine
),该实例具有如下功能:- 管理会话的某些方面(如枚举会话)。
- 处理调度(
Dispatcher
),类似于线程池 - 处理事件的内存缓冲区(
Buffer
)。 缓冲区在填充后将被分派给目标。
- 在创建会话并将事件绑定(可选)到该会话(
Session context
)之后:- 还可以创建目标实例(
Target instance
)并将其添加到会话中。 - 缓冲区在填充后将被分派给目标。
- 还可以创建目标实例(