SQL Server 扩展事件引擎是以下服务和对象的集合:
启用事件定义。
启用处理事件数据。
管理系统中的扩展事件服务和对象。
维护扩展事件会话的列表,并管理对该列表的访问。
扩展事件引擎本身不提供事件触发时要执行的任何事件或作业。 使用扩展事件引擎的进程定义与引擎的交互。 这些进程添加了事件点,并提供了响应事件触发时要执行的动作。
下图显示了扩展事件会话的简化视图。 有关详细信息,请参阅 SQL Server 扩展事件会话。
注意以下事项:
每个 Windows 进程可以有一个或多个模块(Win32 进程, Win32 模块)。 这些模块也称为 二进制文件 或 可执行模块。
每个 Windows 进程模块可以包含一个或多个扩展事件包(包),其中包含一个或多个扩展事件对象(类型、 目标、 作、 映射、 谓词和 事件)。
在主机进程内,只能有一个扩展事件引擎(扩展事件引擎)实例,其中:
管理会话的某些方面(例如,对会话进行枚举)。
处理调度(调度器)。 这类似于线程池。
处理事件的内存缓冲区(缓冲区)。 当缓冲区被填满时,缓冲区将被调度到目标。
创建会话后,事件可以选择绑定到会话(会话上下文):
目标实例(目标实例)也可以创建并添加到会话。
当填充缓冲区时,这些缓冲区将调度到目标。