适用于:✅Microsoft Fabric 中的 SQL 分析终结点和仓库
Important
此功能目前为预览版。
使用 Data Warehouse Monitor 查看运行和历史 T-SQL 查询、长时间运行的查询以及频繁运行的查询,而无需运行 T-SQL 代码。 通过集成到 Fabric 门户,您可以使用 Data Warehouse Monitor 来确认查询成功完成,分析执行模式以及详细调查慢速查询的运行情况。
Data Warehouse Monitor 以前名为“查询活动”。
先决条件
- 你必须是工作区中的管理员才能访问 Data Warehouse Monitor。 成员、参与者和查看者无权访问此视图。
开始
可以通过两种方式启动数据仓库监控器。
查询历史记录
在 “查询历史记录 ”页上,可以查看最近的查询执行,并确定仓库活动中的模式。 此视图将请求计数图表与详细的结果网格组合在一起,以便你可以从高级趋势移动到特定的查询运行。
- 使用请求计数图表在所选时间范围内发现活动的峰值。
- 使用“筛选器”菜单按提交时间(UTC)、状态、提交者、运行源、语句类型和标签来优化视图。
- 使用搜索栏在查询文本或其他列中查找特定关键字。
- 使用时间筛选器可快速切换过去 24 小时、过去 7 天、过去 30 天或自定义时间范围。
- 在图表区域上方查看活动筛选器作为可移动药片。 应用或删除筛选器时,监视器将刷新图表和查询网格以匹配当前筛选器集。
- 选择 “刷新 ”以重新加载当前结果。 如果看到要停止的查询,请使用复选框选中该查询,然后选择“ 取消”。 系统会提示在取消查询之前进行确认。 选择的同一 SQL 会话中所有未选择的查询也会被取消。
Note
目前,在监视体验中应用的筛选器可能不会在图表和数据网格之间同步。 若要查看一致的结果,请使用刷新选项重新加载数据。
- 当您选择共享同一查询哈希的一个或多个查询运行时,查看类似运行 即可使用。 使用此选项可比较同一查询模式的执行,并了解运行期间、失败或资源使用情况是否已更改。
图表会更新以反映当前筛选器选择,以便更轻松地回答以下问题:
- 查询量何时增加?
- 哪个提交者或运行源与活动的峰值相关联?
- 失败或取消的查询是否集中在特定的时间范围内?
还可以从列菜单自定义表布局:
- 选择数据网格中显示的列。
- 拖动列菜单中的项目以重新排序它们。
- 选择 “应用 ”以更新网格以匹配所选列顺序。
对于每个查询,查询 历史记录 网格中提供了以下详细信息。 某些列默认会被隐藏,可以从Column options中添加。
| 列名称 | Description |
|---|---|
| 分布式语句 ID | 每个查询的唯一 ID |
| 查询文本 | 执行查询的文本 |
| 查询哈希 | 查询形状的哈希值,可帮助你跨运行识别类似的查询逻辑 |
| 地位 | 查询状态:成功、失败或已取消 |
| 提交者 | 发送查询的用户或系统的名称 |
| 提交时间 (UTC) | 请求到达时的时间戳 |
| Duration | 查询完成的总时间 |
| 运行源代码 | 启动会话的客户端程序的名称 |
| CPU 时间 | 为查询执行分配的总 CPU 时间 |
| 远程扫描的数据 | 从 OneLake 中的远程存储读取的数据量 |
| 在磁盘上扫描的数据 | 从本地磁盘读取的数据量 |
| 缓存中扫描的数据 | 从本地内存缓存读取的数据量 |
| 会话 ID | 将查询链接到特定用户会话的 ID |
| 标签 | 提供标签时与查询关联的可选标签 |
| 语句类型 | 运行的 SQL 语句类型,例如 SELECT、INSERT、UPDATE 或 DELETE |
| 行计数 | 查询返回的行数 |
| 批处理 ID | 分组查询集的 ID(如果适用) |
| 连接 ID | 查询使用的连接标识符 |
| 数据库名称 | 执行时连接的仓库或 SQL 分析终结点的名称 |
| 结束时间 | 查询完成执行时的时间戳 |
| 已分发 | 指示查询是否作为分布式操作运行:1 表示是,0 表示否 |
| 结果缓存命中 | 查询的结果集缓存状态:2 表示缓存命中,1 表示已创建的缓存,0 表示结果集缓存不适用 |
| 根批 ID | 当查询是嵌套批处理的一部分时,顶级批处理的 ID |
| SQL 池名称 | 用于执行请求的 SQL 池的名称 |
| 错误代码 | 查询执行失败时返回的错误代码 |
还可以找到有关运行查询的相同信息,方法是使用动态管理视图和查询洞察视图,例如queryinsights.exec_requests_history。
查询分析结果
其他 “监视器 ”选项卡可帮助你从历史记录移动到汇总分析:
- 长时间运行的查询 有助于识别执行时间一致较高的查询。
- 经常运行的查询 有助于查找可能受益于优化的重复查询模式。
对于长期查询见解中的每个查询,提供以下详细信息:
| 列名称 | Description |
|---|---|
| 查询文本 | 执行查询的文本 |
| 运行持续时间中值 | 跨运行的查询执行时间中值(毫秒) |
| 运行计数 | 执行查询的总次数 |
| 上次运行持续时间 | 上次执行所用的时间(毫秒) |
| 上次运行的分布式语句 ID | 上次查询执行的唯一 ID |
| 上次运行会话 ID | 上次执行的会话 ID |
对于频繁运行的查询见解中的每个查询,提供以下详细信息:
| 列名称 | Description |
|---|---|
| 查询文本 | 执行查询的文本 |
| 平均运行持续时间 | 跨运行的平均查询执行时间(毫秒) |
| 最大持续时间 | 最长查询执行时间(毫秒) |
| 最短持续时间 | 最短查询执行时间(毫秒) |
| 上次运行的分布式语句 ID | 上次查询执行的唯一 ID |
| 运行计数 | 执行查询的总次数 |
| 成功运行计数 | 成功执行查询的次数 |
| 失败运行次数 | 查询执行失败次数 |
| 已取消的运行计数 | 已取消的查询执行次数 |
若要从这些视图中获取最大值,请执行以下操作:
- 从 查询历史记录 开始,确定要调查的时间范围、提交者或运行源。
- 使用 查看相似运行 来比较具有相同查询哈希的执行情况。
- 转到 长时间运行的查询,以识别中位持续时间较高的查询模式。
- 查看 经常运行的查询 ,以查找适合优化的高容量查询模式。
有关查询历史记录中已完成、失败和取消的查询以及聚合见解的相同信息,也可以在 Fabric 数据仓库中的 Query 见解中找到。
局限性
- 根据并发工作负荷,历史查询最多可能需要 15 分钟才能显示在监视器中。
- 监视器仅显示当前筛选器选择的前 10,000 行。 若要减少结果集,请缩小时间范围或添加筛选器。
- 如果在创建新仓库后立即打开 Monitor,可能会看到错误
Invalid object name queryinsights.exec_requests_history。 发生此错误的原因是尚未生成基础系统视图。 解决方法是等待两分钟,然后刷新页面。