本主题介绍如何使用显示用户界面查看和分析扩展事件数据:
查看目标数据
使用数据
查看目标数据
可以在 SQL Server Management Studio 中显示收集到指定目标中的数据。
查看目标数据
查看目标数据:
在对象资源管理器中,依次展开 管理、扩展事件、会话,然后选择一个会话。
右键单击目标名称,然后单击“ 查看目标数据 ”以显示目标数据。
目标数据窗口显示在默认视图中,并显示目标数据。
有关查看目标数据的说明:
目标数据不适用于 ETW 目标。
若要查看 xml 格式的ring_buffer数据,请在目标数据窗口中单击 ring_buffer目标数据 链接。 ring_buffer.xml 文件显示在 xml 编辑器中。
对于事件文件目标,使用以下任一方法查看文件目标数据(XEL 文件):
使用文件 -> 在 SQL Server Management Studio 中打开。
将文件拖放到 SQL Server Management Studio 中。
双击 。XEL 文件。
在 SQL Server Management Studio 中,右键单击正在运行的扩展事件会话,然后选择“查看目标数据”。
在 SQLServer.XEvent 模块中使用 Powershell Read-SQLXevent。
使用 XELite NuGet 以编程方式处理 XEvents。
可以通过从“文件 - 打开”菜单中选择“合并扩展事件文件”来查看多个 .XEL 文件。
观看实时数据
可以观看正在捕获的实时动态数据。
在对象资源管理器中,展开 “管理”、“ 扩展事件”和“ 会话” 节点。
右键单击会话名称,然后单击“ 监视实时数据 ”开始显示跟踪数据。
默认显示列是 事件名称和TimeStamp。
若要向跟踪窗口添加其他列,请单击“扩展事件”工具栏上的“ 选择列 ”按钮。 “ 详细信息 ”选项卡显示所选事件的所有事件详细信息。
事件通常以大约 30 秒为单位显示。 如果要更改延迟期,可以在“新建会话”对话框的“高级”页上更改“最大调度延迟”。
SqlServer.XEvent PowerShell 模块可以流式传输实时数据。
刷新目标数据
event_files目标不支持刷新目标数据:
若要自动刷新目标数据,请右键单击目标数据,选择“ 刷新间隔”,然后从间隔列表中选择刷新间隔。
若要暂停和恢复自动刷新,请右键单击目标数据,然后选择“ 暂停 ”或“ 继续”。
若要手动刷新目标数据,请右键单击目标数据,然后选择“ 刷新”。
处理数据
可以使用扩展事件用户界面的分析功能来识别问题。
“详细信息”窗格
“详细信息”窗格显示所选事件的所有列,包括字段和操作。 可以通过右键单击 “详细信息 ”窗格中的行并选择“ 在表中显示列”,将列添加到目标数据表。
创建、修改或删除合并列
合并列可以让您将一组字段合并并显示在单个列中。 合并列将根据字段列表中字段添加的顺序,显示第一个非 NULL 字段的数据。 这类似于在 SQL Server Profiler 中看到的内容,其中特定列可能会根据事件显示不同的数据(最常见的示例是 SQL Server Profiler 中的 TextData 字段)。 例如,可以将语句和batch_text字段分别从sql_statement_completed和sql_batch_completed事件合并到名为 myStatement 的字段中。 在表中显示 myStatement 列时,它将显示关联事件的相应数据。
可以创建、修改或删除合并列:
打开一个XEL文件以查看跟踪结果。 (也可以右键单击会话名称,然后选择“ 观看实时数据”。
在跟踪结果窗口中,右键单击列标题,然后单击“ 选择列”。
若要创建合并列,请单击“选择列”对话框中的“新建”。 在“ 新建合并列 ”对话框中,命名合并列,然后选择要包含在合并列中的原始列。
若要编辑合并列,请在“ 选择列 ”对话框中选择合并列,然后单击“ 编辑”。 在 “编辑合并列 ”对话框中,重命名合并列或修改要包含在合并列中的原始列。
若要删除合并列,请在“ 选择列 ”对话框中选择合并列,然后单击“ 删除”。
筛选结果
可以查看跟踪结果,然后应用筛选器以缩小跟踪窗口中显示的跟踪结果的范围。 显示筛选器包括时间筛选器和高级筛选器。 使用时间筛选器按事件时间戳筛选跟踪结果,并使用高级筛选器根据事件字段和操作构造筛选条件。 时间与高级筛选器之间存在逻辑上的“与”关系。
若要创建筛选器,请执行以下操作:
打开一个XEL文件以查看跟踪结果。 (也可以右键单击会话名称,然后选择“ 观看实时数据”。
在“跟踪结果”窗口中,选择要筛选的结果,然后在 “扩展事件 ”工具栏上,单击“ 筛选器”。
在“ 筛选器 ”对话框中,选择“ 设置时间筛选器 ”,通过拖动滑块条或修改编辑框中的时间来设置时间筛选器。
在 “其他筛选器 ”部分中,应用筛选条件,然后单击“ 应用”。
对结果进行排序
若要按升序或降序对结果进行排序:
打开一个XEL文件以查看跟踪结果。 (也可以右键单击会话名称,选择 “监视实时数据”,然后单击工具栏上的“ 停止数据馈送 ”按钮。
在跟踪结果窗口中,右键单击要排序的列标题,然后单击“ 升序 排序”或“ 降序排序”。
还可以单击列标题以反转排序顺序。
如果已对列进行分组,则对列进行排序只会对组中的数据进行排序。
小组结果
分组结果相当于在 Transact-SQL 中使用GROUP BY子句的功能。 目标数据表将显示分组在一起的数据,使你可以展开和折叠数据。
必须先对数据进行分组,然后才能对其进行聚合。 例如,可以按query_hash值分组,按持续时间排序,获取每个组的平均持续时间,然后对聚合进行降序排序。 这将生成一个列表,该列表显示从最长到最短的平均持续时间的唯一语句列表。 展开顶部组时,您将看到该特定查询的个别执行,排序从最长到最短。
可以按单个列或多列对结果进行分组。
打开一个XEL文件以查看跟踪结果。 (也可以右键单击会话名称,选择 “监视实时数据”,然后单击工具栏上的“ 停止数据馈送 ”按钮。
若要按单个列对结果进行分组,请右键单击跟踪结果窗口中的列标题,然后单击“ 按此列分组”。 若要撤消分组,请选择其中一行,然后单击“ 删除所有分组”。
若要按多个列对结果进行分组,请单击“扩展事件”工具栏上的“分组”按钮。 在“分组”对话框的“可用列”框中,选择要分组的列,并将其移动到“分组的列”框中。 若要更改“按列分组”框中的顺序,请单击向上或向下箭头。
聚合结果
可以查看跟踪结果,然后通过聚合结果中的列来进一步分析事件数据。 扩展事件支持五个聚合函数:
总和
分钟
最大值
平均
计数
Sum、min、max 和 average 只能与数值列一起使用。 计数是指组中所选列中存在的非空值的数量。
聚合是在组上执行的,因此在执行聚合之前,必须先对结果进行分组。 聚合结果:
打开一个XEL文件以查看跟踪结果。 (也可以右键单击会话名称,选择 “监视实时数据”,然后单击工具栏上的“ 停止数据馈送 ”按钮。
在 “扩展事件 ”工具栏上,单击“ 聚合 ”按钮。 “聚合”对话框将显示可用于聚合的列。
在 “聚合类型” 列中,选择聚合类型。
在“ 按排序聚合 ”框中,选择排序列。 然后选择升序或降序。
在各列中搜索文本
可以在列中搜索文本:
打开一个XEL文件以查看跟踪结果。 (也可以右键单击会话名称,选择“ 监视实时数据”。
单击“扩展事件”工具栏上的“查找”。
在扩展事件中查找对话框的查找内容框中,输入搜索文本。 可以从下拉列表中选择最后 20 个搜索字符串之一。
在“ 查找 ”框中,选择要搜索指定文本的位置。 使用以下选项进行搜索:
表列。 使用此选项可在跟踪窗口中搜索所有可见列。
详细信息。 使用此选项可在选择的跟踪窗口中搜索所有列(已升级和非提升),然后再打开“ 在扩展事件中查找 ”对话框。
Event_column_name。 使用此选项可从下拉列表中搜索特定事件列。
使用以下选项指定要如何定义搜索:
匹配大小写。 使用此选项,可显示在“查找内容”框中输入的文本的搜索结果,该结果同时匹配内容和大小写。
匹配整个单词。 使用此选项仅显示输入与完整单词匹配的文本的搜索结果。
向上搜索。 使用此选项从光标位置搜索到结果的开头。
用。 使用此选项可以解释在“查找内容”框中输入的特殊字符和正则表达式。 特殊字符包括通配符 \ 和 (?) 表示一个或多个字符。 正则表达式是用于定义搜索文本模式的特殊表示法。
单击“ 查找下一步 ”,搜索在 “查找内容 ”框中输入的下一个文本。
书签
若要更轻松地返回到行,可以在目标数据中为一个或多个行添加书签。 右键单击某行可更改书签。 使用 扩展事件 工具栏上的上一个和下一个按钮导航到书签行。
更改显示设置
可以将列信息(列顺序、合并列和列宽)和跟踪结果的筛选信息保存到扩展事件显示设置文件(.viewsetting 文件)。 保存文件后,可将其应用于跟踪结果以更改视图。
若要更改显示设置,请执行以下作:
打开一个XEL文件以查看跟踪结果。 (也可以右键单击会话名称,选择“ 监视实时数据”。
在 “扩展事件 ”工具栏上,选择“ 显示设置”。 从下拉列表中选择以下选项之一:
另存为。 将跟踪结果的列和筛选信息保存到 .viewsetting 文件。
打开。 打开现有的 .viewsetting 文件。
打开最近的文件。 打开最近保存的 .viewsetting 文件。
复制或导出跟踪结果
可以将单元格、行和详细信息复制到跟踪结果中的选定行。 还可以将跟踪结果导出到以下:
.XEL 文件
桌子
.CSV 文件
若要复制跟踪结果,请选择单元格、行或行,右键单击,选择“ 复制 ”,然后选择“ 单元格”、“ 行”或 “详细信息”。 扩展事件最多支持复制 1000 行。
可以通过从 SQL Server Management Studio 中的扩展事件菜单选项中选择导出到,将跟踪结果导出到 .XEL 文件、表或 .CSV 文件。
查看死锁图形和查询计划
可以在“详细信息”窗格中查看 xml_deadlock_report 的死锁图,以帮助排查死锁问题。 还可以查看以下事件的查询计划图:
query_post_compilation_showplan
预查询执行显示计划 (query_pre_execution_showplan)
查询后执行显示计划
查看死锁图:
在对象资源管理器中,展开 “管理”、“ 扩展事件”和“ 会话” 节点。
右键单击包含要查看的已配置的死锁事件的会话,然后选择“ 监视实时数据”。
选择死锁事件,并在“详细信息”窗格中的 “死锁 ”选项卡上查看图形。
若要查看查询计划图,请执行以下操作:
在对象资源管理器中,展开 “管理”、“ 扩展事件”和“ 会话” 节点。
右键单击包含要查看的查询计划图的会话(例如,query_post_compilation_showplan),然后选择“ 监视实时数据”。
选择查询计划图事件(例如,query_post_compilation_showplan),并在“详细信息”窗格中的 “查询计划 ”选项卡上查看图形。