通过“新建会话”对话框,可以定义一个扩展事件会话,用于捕获、显示和分析数据。 “新建会话”对话框公开所有扩展事件功能。
通过“新建会话向导”,还可以定义扩展事件会话,支持大多数扩展事件功能。
准备阶段
若要打开“新建会话”对话框,请在对象资源管理器中展开 “管理 ”节点,然后展开 “扩展事件”。 右键单击 “会话”,然后单击“ 新建会话”。
权限
若要创建扩展事件会话,必须具有 ALTER ANY EVENT SESSION 权限。
使用“新建会话”对话框创建扩展事件会话
使用 “常规 ”页选择模板并计划事件会话。
选择一个模板并安排一个活动会话
- 在对象资源管理器中,展开 管理 节点,然后展开 扩展事件。 右键单击 “会话”,然后单击“ 新建会话”。 
- 在“ 常规 ”页上的 “会话名称 ”框中,键入事件会话的有意义的名称。 
- 在 “模板 ”框中,从下拉列表中选择要使用的模板。 - 可以从一组为常见问题设计的预配置模板中进行选择,也可以从 “从文件 ”中选择,以使用从上一个会话定义导出的模板文件。 请注意,在应用模板后,还可以更改会话的配置。 
- 在 “计划” 部分中,如果要在启动服务器时启动会话,请选中“ 在服务器启动时启动事件会话 ”复选框。 - 如果要在创建会话后启动会话,请在 创建会话后立即选中“启动事件会话 ”复选框。 
- 若要查看活动会话的实时数据,请单击 捕获时在屏幕上观看实时数据。 实时数据将在创建会话后立即开始显示跟踪。 
- 在 “因果关系跟踪 ”部分中,选中“ 跟踪事件如何相互关联 ”复选框,以跟踪跨多个任务的工作。 - 有关因果关系跟踪的详细信息,请参阅 SQL Server 扩展事件会话 主题中的“会话内容和特征”。 - 若要将事件添加到会话,请在 “选择页面 ”部分中,单击“ 事件”。 - 注释 - 在完成创建事件会话之前,请不要单击 “确定 ”。 
使用 “事件 ”页查找并添加要为会话捕获的事件。
将事件添加到会话
- 在“新建会话”对话框中的 “选择页面 ”部分,选择“ 事件”。 
- 在事件页上,单击选择按钮(如果您已在选择要捕获的事件屏幕上,选择按钮将会被灰显)。 - 可在 事件库 框中输入要搜索的文本,以搜索表中的任意单词。 例如,如果要查找 lock_acquired 事件,可以输入 锁 或 锁获取。 
- 在 “事件库 ”部分中,选择要从下拉列表中捕获的事件的搜索方式。 例如,可以搜索事件名称或事件名称及其说明。 在 “搜索 ”框中输入搜索条件。 - 注释 - 默认情况下, 调试 通道中的事件处于隐藏状态。 若要显示调试事件,请从“通道”下拉列表中选择“调试”。 - 所选事件的详细信息显示在 “事件库”下的“详细信息”窗格中。 - 事件按字母顺序按名称排序。 可以通过单击相应的列标题按其他事件详细信息进行排序。 例如,可以按 “类别 ”或“ 频道 ”列进行排序。 
- 选择要捕获的事件,然后单击右箭头将事件移动到 “所选事件 ”部分。 - 注释 - 可以使用 Ctrl 或 SHIFT 键从 事件库中 同时选择多个事件。 - 若要配置所选事件,请单击“ 配置”。 - 注释 - 在完成创建事件会话之前,请不要单击 “确定 ”。 
使用 “数据存储 ”页将目标添加到事件会话。 目标负责存储事件数据,并可以执行诸如将事件保存到文件以供以后查看以及汇总本次会话的事件数据等行动。 有关扩展事件目标的详细信息,请参阅 SQL Server 扩展事件目标。
以下是可用于扩展事件会话的目标对象:
- etw_classic_sync_target。 用于将 SQL Server 事件与 Windows作系统或应用程序事件数据相关联。 
- event_counter。 计算启动扩展事件会话后发生的所有指定事件。 用于获取有关工作负荷特征的信息,而无需增加完整事件收集的开销。 
- event_file。 用于将事件会话输出从完整的内存缓冲区写入磁盘。 
- 直方图。 用于根据指定的事件列或操作来计数指定事件发生的次数。 
- pair_matching。 用于确定指定的配对事件在匹配集中何时没有发生。 
- ring_buffer。 用于将事件数据保存在内存中,可以采用先进先出(FIFO)的方式或按单个事件进行 FIFO 处理。 
为会话配置全局字段
- 在“ 事件 ”页上,选择要添加到事件会话的事件或事件后,单击“ 配置”。 - 单击“ 配置”后, “事件库 ”部分将折叠, “所选事件 ”部分将滑到页面左侧。 用于配置事件 的事件配置选项 部分将显示在页面右侧。 您可以使用此页面上的选项卡为事件会话配置操作。 
- 在“ 全局字段 ”选项卡上,选择要应用于所选事件的字段。 - 可以为每个事件选择多个字段。 - 注释 - 如果选择的两个事件具有不同的配置动作,扩展事件将显示部分勾选的动作。 若要快速查找已启用的操作,可以单击复选框上方的列标题,然后按启用/禁用状态进行排序。 
- 在“ 筛选器 ”选项卡上,应用筛选器(也称为谓词)以限制要捕获的事件。 - 如果筛选器应用于所选事件,则列中会出现一个勾选标记。 - 注释 - 可以使用 Ctrl 或 SHIFT 键选择要向其应用筛选器的多个事件。 但是,只有用于配置的常见事件字段会显示。 如果两个所选事件已为其配置了不同的筛选器,则不会显示筛选器。 重新配置滤镜将覆盖现有滤镜值。 - 注释 - 为筛选器配置组子句时,保存结果后,将从筛选器中删除冗余括号。 例如,如果创建筛选器分组 子句 1 和 子句 2,则子句周围将显示括号。 保存筛选器后,将删除冗余括号。 删除括号不会影响筛选器逻辑。 
- 在“ 事件字段 ”选项卡上,选择要应用于所选事件的事件字段。 - 事件包含一些始终收集的字段,这些字段显示在“ 事件字段 ”选项卡上,不带复选框。 事件还可以具有默认情况下未收集的可选字段(例如,未选择昂贵的可选字段)。 “ 事件字段 ”选项卡上还列出了可选字段,其中包含复选框。 若要收集可选字段,请选择可选字段前面的复选框。 - 注释 - 事件字段选项将显示将在跟踪结果中捕获和查看的字段。 (扩展事件仅显示事件字段的数据类型。例如,不显示只读事件字段。如果选择两个或多个事件,“新建会话”对话框将在 “事件字段 ”选项卡上显示空白。 
- 若要将目标添加到事件会话,请在 “选择页面 ”部分选择 “数据存储”。 - 注释 - 在完成创建事件会话之前,请不要单击 “确定 ”。 
将目标添加到事件会话
- 在“新建会话”对话框中的“ 选择页面 ”部分中,选择 “数据存储”。 
- 在 “数据存储 ”页上,从下拉列表中选择目标类型。 - 选择目标类型后,将显示目标说明。 只能添加一次目标。 如果已将目标添加到会话,该目标将不会显示在下拉列表中。 
- 单击“ 添加” 以添加事件会话的目标。 如果要删除目标,请单击“ 删除”。 - 目标属性显示在 “目标” 部分下方,具体取决于所选的目标。 
- 以下是可以指定的属性,具体视所选目标而定: - 目标 - 目标属性 - etw_经典同步目标 - 服务器上的会话日志文件名称。 在服务器上输入日志文件名称和目录,或单击“ 浏览 ”以查找并选择日志文件。 
 最大日志文件大小。 输入用于 Windows 事件跟踪(ETW)事件的最大日志文件大小。 默认值为 20 兆字节(MB)。 可以从下拉列表中选择不同的存储单元。
 缓冲区大小。 输入事件会话的内存中缓冲区大小。 默认值为 128 KB。 可以从下拉列表中选择不同的存储单元。
 会话名称。 输入有意义的 ETW 会话名称。
 遇到写入 ETW 错误时重试。 选中此复选框以重试将事件发布到 ETW 子系统。
 最大重试次数。 输入您希望在放弃事件之前将事件重试发布到 ETW 子系统的最大次数。 默认重试次数为零(0)。 对于此目标属性,零(0)表示不重试。- 事件计数器 - 事件计数器没有目标属性。 - 事件文件 - 服务器上的文件名。 在服务器上输入目录和目标文件名,或单击“ 浏览 ”以查找并选择目标文件。 
 最大文件大小。 指定文件目标的最大文件大小。 如果未指定最大文件大小,则文件将增长到磁盘已满为止。 默认文件大小为 1 GB(GB)。 可以从下拉列表中选择不同的存储单元。
 启用文件轮替。 选中此复选框可启用目标文件的文件滚动。
 最大文件数。 输入要在文件系统中保留的最大文件数。- 直方图 - 要筛选的事件。 从下拉列表中选择要筛选的事件。 可以筛选事件会话中存在的任何事件。 还可以从下拉列表中选择 <“无”>,以包括该操作的所有事件和基础桶。 
 根据操作来设置存储桶。 选择此选项可将存储桶基于用作数据源的操作名称,然后从下拉列表中选择该操作。
 根据字段生成存储桶。 选择此选项可将存储桶基于用作数据源的事件字段,然后从下拉列表中选择该字段。
 最大存储桶数。 输入要保留的最大存储桶数。 达到此值后,事件会话将忽略不属于现有存储桶的任何新事件。- 配对匹配 - 事件:开始于。 从下拉列表中选择事件名称,该下拉列表指定配对序列中的开始事件。 
 事件:以...结束。 从下拉列表中选择事件名称,该下拉列表指定配对序列中的结束事件。
 字段和操作:以…开头。 从下拉列表中选择成对序列中的起始字段和/或动作。
 字段和动作:结尾。 从下拉列表中选择配对序列中的结束字段和/或动作。
 如果出现内存压力,则丢弃新的未配对事件。 选中此复选框可停止在计算机承受内存压力时将事件收集到pair_matching目标。 当不再存在内存压力时,事件集合将恢复。
 最大孤立事件数。 指定要保留在内存中的孤立事件的最大数目。- 环形缓冲区 (ring_buffer) - 要保留的事件数。 使用向上和向下箭头指定要保留的事件数。 默认值为 1000。 
 最大缓冲区内存大小。 输入要使用的最大内存量。 达到此值时,将删除现有事件。 默认内存大小为 0 兆字节(MB),这意味着无限制。 可以从下拉列表中选择不同的存储单元。
 当缓冲区已满时,保留指定的事件数(每类型)。 选择此选项可保留缓冲区中每种类型的指定数量的事件。
 要保留的事件数(按类型)。 输入要保留在缓冲区中的每种类型的首选事件数。
- 如果要设置高级配置属性,请在“选择页面”部分中选择“高级”。 - 注释 - 在完成创建事件会话之前,请不要单击 “确定 ”。 
设置高级配置
- 在“新建会话”对话框中的 “选择页面 ”部分,选择“ 高级”。 
- 在 “高级 ”页上,若要指定 事件会话的事件保留模式 选项,请执行以下作: - 单个事件损失。 选择此选项可允许丢失单个事件。 
- 多个事件丢失。 选择此选项可允许丢失多个事件。 
- 无事件丢失。 如果要防止事件丢失,请选择此选项。 不建议选择此选项。 - 注释 - 某些事件(如 sqlos.wait_info 事件)与 “无事件丢失 ”事件保留模式不兼容。 
 
- 若要指定事件会话 的最大调度延迟 选项,请执行以下操作: - 以秒为单位。 选择此选项可延长或缩短最大调度延迟。 使用向上和向下箭头指定最大调度延迟(以秒为单位)。 
- 无限制。 如果希望仅在缓冲区已满时调度事件,请选择此选项。 
 
- 在 “最大内存大小 ”框中,输入最大内存大小。 达到此值时,将删除现有事件。 可以从下拉列表中选择不同的存储单元。 
- 在 “最大事件大小 ”框中,输入太大而无法包含在 最大内存大小中的事件的最大事件大小。 如果不收集非常大的事件,则无需配置此选项。 可以从下拉列表中选择不同的存储单元。 
- 若要为事件会话指定 内存分区模式 选项,请执行以下作: - 无。 如果不希望内存分区模式,请选择此选项。 
- 每个节点。 如果要对每个节点的内存进行分区,请选择此选项。 
- 每个 CPU。 如果要对每个 CPU 的内存进行分区,请选择此选项。 
 
若要还原上述会话属性的配置默认值,请单击“ 还原默认值”。