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