你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用数据库观察程序监视 Azure SQL 工作负荷(预览版)
适用于: Azure SQL 数据库 Azure SQL 托管实例
数据库观察程序是 Azure SQL 系列中数据库服务的托管监视解决方案。 其支持 Azure SQL 数据库和 Azure SQL 托管实例。
数据库观察程序收集深入的工作负荷监视数据,以便详细查看数据库性能、配置和健康状况。 获取自所选数据库、弹性池和 SQL 托管实例的监视数据将收集到 Azure 订阅中的中央数据存储中。 Azure 门户中的仪表板提供 Azure SQL 资产的单一视图,以及每个数据库、弹性池和 SQL 托管实例的详细视图。
若要存储和分析 SQL 监视数据,数据库观察程序可以使用 Azure 数据资源管理器或 Microsoft Fabric 中的实时分析。 Azure 数据资源管理器是一项完全托管、高度可缩放的数据服务,专为快速引入和分析时序监视数据而构建。 单个 Azure 数据资源管理器群集可以进行缩放,以支持来自数千个 Azure SQL 资源的监视数据。 实时分析使用与 Microsoft Fabric 中的 SaaS 产品/服务相同的核心引擎。
可以使用 KQL 或 T-SQL 查询 Azure 数据资源管理器或实时分析数据库中的数据,使用 Azure 数据资源管理器仪表板、Power BI 或 Grafana 生成自定义可视化效果,并在 Excel 中分析数据。 可以设置每个数据库或每个表的数据保留策略,并自动或手动缩放 Azure 数据资源管理器群集,以实现最佳的价格/性能比。
若要开始监视 Azure SQL 资源,请在 Azure 订阅中创建“观察程序”资源。 通过选择“数据存储”,和要监视的名为“SQL 目标”的一组数据库、弹性池或 SQL 托管实例,完成观察程序的配置。 向观察程序授予对目标的访问权限,并启动观察程序。
有关快速入门的步骤,请参阅快速入门:使用数据库观察程序监视 Azure SQL。 有关设置和配置详细信息,请参阅创建和配置数据库观察程序。
有关数据库观察程序常见问题的解答,请参阅数据库观察程序常见问题解答。
有关数据库观察程序的视频概述,请观看公开的数据剧集:
注意
数据库观察程序当前为预览版。 发布的预览版功能虽然存在功能限制,但仍会以“预览版”的方式提供,以便客户可以尽早访问并提供反馈。 预览功能受单独的补充预览条款的约束,并且不受 SLA 的约束。 在某些情况下,我们会尽力提供支持。 但是,Microsoft 支持部门渴望获得你对预览功能的反馈,并可能在某些情况下提供尽力支持。 预览功能可能有限或受限,并且可能仅在所选地理区域中可用。
支持的 Azure 目标
数据库观察程序支持 Azure SQL 数据库和 Azure SQL 托管实例中的所有服务层级、计算层级和服务目标。 这包括 vCore 和 DTU 购买模型、预配和无服务器计算层、单一数据库和弹性池以及超大规模。
数据库观察程序可以监视所有类型的辅助可读副本,包括高可用性副本、异地副本和超大规模命名辅助副本。
对于给定的观察程序,SQL 目标可以位于同一 Microsoft Entra ID 租户里的任意订阅中。
数据库观察程序价格
数据库观察程序成本由其各个组件产生,如下所示:
组件 | 价格 | 备注 |
---|---|---|
Watchers | 免费 | |
仪表板 | 免费 | |
Azure 数据资源管理器群集* | 定价详细信息 | 最佳群集 SKU 取决于监视目标和群集查询工作负荷的数量。 有关群集大小调整注意事项,请参阅管理 Azure 数据资源管理器群集。 |
Microsoft Fabric 中的实时分析 | 包含在Power BI Premium 工作区使用模型中。 按使用计费。 | 使用 Azure 数据资源管理器或实时分析。 只需要其中一项产品/服务。 |
Azure Key Vault 中的保管库 | 定价详细信息 | 仅当使用可选的 SQL 身份验证而不是默认的 Microsoft Entra 身份验证时,才是必需的。 |
Azure 网络带宽 | 定价详细信息 | 如果观察程序、其目标及其数据存储部署在同一 Azure 区域中,则不会产生成本。 |
*当不需要服务级别协议以及免费群集容量规范满足查询性能和存储要求时,可以使用免费的 Azure 数据资源管理器群集。 免费群集的试用期为一年,可以自动延长。
每个受监视的 Azure SQL 资源或每个用户都无需付费,这使数据库观察程序成为大型 Azure SQL 环境和大型团队的廉价监视解决方案。
区域可用性
此时,可以在以下 Azure 区域中创建数据库观察程序:
Azure 地域 | Azure 区域 |
---|---|
亚太区 | 澳大利亚东部 |
亚太区 | 东南亚 |
加拿大 | 加拿大中部 |
欧洲 | 北欧 |
欧洲 | 英国南部 |
欧洲 | 瑞典中部 |
欧洲 | 西欧 |
美国 | 美国东部 |
美国 | 美国东部 2 |
美国 | 美国中部 |
美国 | 美国西部 |
提示
一个 Azure 区域中的观察程序可以监视另一个区域中的目标。 同样,观察程序及其数据存储可以位于不同的区域中。
如有可能,请将观察程序、目标及其数据存储并置在同一区域中。 如果区域尚未提供数据库观察程序,请选择同一 Azure 地理位置中的区域。 这可以降低 Azure 网络带宽成本。
限制
每个观察程序的 SQL 目标数以及每个订阅的观察程序数有限制。 不支持超出这些限制的部署。
参数 | 限制 |
---|---|
每个观察程序的 SQL 目标数1 | 100 |
每个订阅的观察程序数 | 20 |
1数据库、弹性池或 SQL 托管实例的高可用性副本独立于其父副本进行监视,并被视为单独的目标。
注意
在预览期间,限制可能会更改。
仪表板
数据库观察程序使用 Azure 工作簿在资产级别和资源级别提供监视仪表板。
下面是资产仪表板上的数据库 CPU 利用率热度地图示例。 每个六边形代表一个 SQL 目标。 有两个逻辑服务器,一个有六个数据库,一个有三个数据库。 高可用性辅助副本以单独目标的形式显示在热度地图上。 选择图像以查看其他详细信息,包括数据引入统计信息。
以下示例显示了 Azure SQL 数据库仪表板的“性能”选项卡的部分视图。 选择要放大详细信息的图像。
下表介绍了 Azure 门户中数据库观察程序仪表板的功能。
功能 | 说明 |
---|---|
资产仪表板 | 在通用视图中可视化多个受监视资源的高级监视数据。 使用“热度地图”查找资源消耗量最大的数据库、弹性池或 SQL 托管实例。 使用“排名靠前的查询”视图查找 Azure SQL 资产中资源消耗量最高的查询,并按 CPU、持续时间、执行计数等排名查询。 使用订阅、资源组和资源名称筛选器专注于 Azure SQL 资产的特定子集。 钻取到特定资源的详细仪表板。 |
资源仪表板 | 可视化数据库、弹性池或 SQL 托管实例的详细监视数据,包括: - 活动会话 - 备份历史记录 - 常见性能计数器 - 连接性探测 - 数据库和实例属性及配置 - 异地复制 - 索引元数据、使用情况统计信息、警告和建议 - 资源使用情况 - 会话和连接统计信息 - SQL 代理工作状态和历史记录 - 存储消耗和性能 - 表元数据 - 消耗量靠前的查询 - 等待统计信息 使用资源下拉列表快速从一个资源切换到另一个资源。 使用“资产”链接缩小到资产仪表板。 |
按时间范围筛选 | 在每个仪表板上,将时间范围设置为关注所需的时间间隔。 使用标准或自定义时间范围。 通过“画笔”将时间范围缩小到感兴趣的间隔,或将鼠标光标拖动到图表上以选择较短的时间范围。 |
历史数据 | 根据数据集,仪表板显示所选时间间隔的摘要,或时间间隔中收集的最新示例。 在最新视图和历史视图之间切换,查看所选时间范围内较早的数据示例。 例如,查看资源使用状况中出现峰值时收集的活动会话的先前样本,而不是查看当前的活动会话。 |
次要副本 | 监视所有类型的副本,包括资产仪表板上的高可用性 (HA) 次要副本。 在资源仪表板上查看主要副本及其 HA 次要副本之间切换。 |
下载数据到 Excel | 将图表和网格中的数据下载为 csv 文件,并在 Excel 中打开,以便进行其他分析。 |
数据刷新 | 打开仪表板并在选项卡之间切换时,从监视数据存储中检索最新数据。打开仪表板一段时间后,请手动刷新以查看最新数据,或启用仪表板自动刷新。 |
临时 KQL 查询 | 在每个仪表板上使用链接打开 Azure 数据资源管理器 Web UI,并使用 KQL 查询监视数据。 有关详细信息,请参阅数据集并使用 KQL 分析监视数据。 |
说明 | 切换“显示说明”参数以查看有助于解释显示数据并包含相关文档链接的说明。 |
工具提示 | 将鼠标悬停在字段上可查看显示数据的更多详细信息和上下文。 |
引入统计信息 | 使用“引入统计信息”链接查看每个数据集的数据引入延迟和其他引入统计信息。 |
深色模式 | 切换 Azure 门户外观以使用深色主题让数据库观察程序仪表板使用深色模式。 |
注意
在预览期间,仪表板可视化效果和功能可能会更改。
SQL Monitoring 数据
数据库观察程序从 70 多个 SQL 目录视图和动态管理视图 (DMV) 收集监视数据。 来自一个或多个相关视图的数据将转换为数据集。 例如,来自 sys.dm_exec_sessions、sys.dm_exec_requests 和其他视图的数据构成了“活动会话”数据集。 对于每个数据集,Azure 数据资源管理器或实时分析数据库中都有一个单独的表。
数据库观察程序为数据库、弹性池和 SQL 托管实例使用单独的数据集组。 每个组中有 10 到 30 个数据集,提供 Azure SQL 资源的数据库性能、配置和健康状况的详细信息视图。
有关详细信息,请参阅数据库观察程序数据收集和数据集。
网络连接
数据库观察程序使用通过网络连接到目标、数据存储和密钥保管库的远程数据收集代理。 数据库观察程序可以使用专用连接或公共连接,具体取决于网络安全要求和 Azure 资源的配置。 你始终完全控制从数据库观察程序到 Azure 资源的网络连接。
有关 Azure SQL 中的网络连接的详细信息,请参阅 Azure SQL 数据库连接体系结构和 Azure SQL 托管实例连接体系结构。
专用连接
为了提供专用连接,数据库观察程序使用 Azure 专用链接。 配置观察程序时,可以创建托管专用终结点,让观察程序连接到逻辑服务器上的数据库和弹性池,或连接到 SQL 托管实例。 还可以为 Azure 数据资源管理器群集和存储 SQL 身份验证凭据的密钥保管库创建专用终结点。 目前,专用连接不适用于连接到 Microsoft Fabric 中的实时分析。
资源所有者必须先批准专用终结点,然后数据库观察程序才能使用它。 相反,资源所有者可以随时删除任何数据库观察程序专用终结点来停止数据收集。
创建和批准 Azure 资源的专用终结点后,观察程序与资源之间的所有网络流量都使用专用连接,即使资源的公共连接仍保持启用状态。
有关 Azure SQL 中的专用终结点的详细信息,请参阅 Azure SQL 数据库的 Azure 专用链接和 Azure SQL 托管实例的 Azure 专用链接。
公共连接
如果不需要专用连接,数据库观察程序可以使用公共连接连接到 Azure 资源。 若要使观察程序能够连接到 Azure SQL 数据库逻辑服务器上的数据库和弹性池,必须启用对服务器的公共访问,并且基于 IP 的防火墙必须允许来自所有 Azure 服务的连接。
若要使观察程序能够使用公共连接连接到 SQL 托管实例,该实例必须启用其公共终结点。 此外,允许 TCP 端口 3342 上的入站流量进入托管实例子网的网络安全组 (NSG) 规则必须将其源设置为 AzureCloud
。 有关详细信息,请参阅在 Azure SQL 托管实例中配置公共终结点。
若要使观察程序能够使用公共连接连接到 Azure 数据资源管理器群集或密钥保管库,群集或保管库必须允许从所有网络访问其网络。
数据访问
与网络连接一样,可以完全控制数据库观察程序对数据库的访问。 通过在逻辑服务器和 SQL 托管实例上创建专用数据库观察程序登录名,然后授予从 SQL 系统视图收集监视数据的特定有限权限,实现访问权限的授予。
观察程序身份验证
数据库观察程序支持 Microsoft Entra 身份验证(以前称为 Azure Active Directory 身份验证)。 这是观察程序向 SQL 目标进行身份验证的首选和建议方法。 在要监视的所有逻辑服务器和 SQL 托管实例上,为观察程序的托管标识创建 Microsoft Entra 身份验证登录名。
数据库观察程序还支持基于密码的 SQL 身份验证。 如果未在 Azure SQL 资源上启用 Microsoft Entra 身份验证,则可以使用 SQL 身份验证。 有关详细信息,请参阅使用 SQL 身份验证的其他配置。
观察程序授权
若要收集监视数据,数据库观察程序需要拥有对每个监视目标的特定有限访问权限,如下表所述。 这些角色成员身份和权限为观察程序提供对系统监视数据,而非数据库中任何其他数据的必要访问权限。
Azure SQL 数据库 | Azure SQL 托管实例 |
---|---|
以下所有服务器角色的成员身份:##MS_ServerPerformanceStateReader## ##MS_DefinitionReader## ##MS_DatabaseConnector## |
以下服务器权限:CONNECT SQL CONNECT ANY DATABASE VIEW ANY DATABASE VIEW ANY DEFINITION VIEW SERVER PERFORMANCE STATE SELECT 数据库中下表的 msdb 权限:dbo.backupmediafamily dbo.backupmediaset dbo.backupset dbo.suspect_pages dbo.syscategories dbo.sysjobactivity dbo.sysjobhistory dbo.sysjobs dbo.sysjobsteps dbo.sysoperators dbo.syssessions |
重要
当观察程序连接到 Azure SQL 资源时,它会验证它持有的 SQL 权限。 如果授予的权限不足,或者“授予不必要的权限”,则观察程序会断开连接。 这可确保观察程序可以收集系统监视数据,但不会意外地授予对数据库中任何其他数据的访问权限。
配置对 SQL 目标的观察程序访问权限时,请始终使用提供的脚本创建专用登录名。 不要将观察程序登录名或用户添加到任何 SQL 角色,或授予表中列出内容之外的其他任何 SQL 权限。
如果拒绝向该数据库观察程序登录名或用户授予所需的权限,或拒绝向成员中包含该数据库观察程序登录名或用户的角色授予所需的权限,(包括 public
数据库角色),则数据库观察程序可能不会收集监视数据。 根据拒绝的具体权限,这可能会影响部分或所有数据集。
相反,如果向该数据库观察程序登录名或用户授予不必要的权限,或向成员中包含该数据库观察程序登录名或用户的角色授予不必要的权限,则数据库观察程序可能不会收集某些或全部数据集的监视数据。 同样,如果将该数据库观察程序登录名或用户添加到某个内置服务器或数据库角色,则可能不会收集数据。
新增功能
本节介绍最近的数据库观察程序修正、更改和改进。
时间段 | 更改 |
---|---|
2024 年 11 月 | - 将每个观察程序 SQL 目标数的上限从 50 增加到 100。 |
2024 年 10 月 | - 修复了以下 bug:如果有任何具有无效表引用的视图或具有多个列检查约束的任何表,则不会收集表元数据数据集。 - 为用户分配的托管标识添加支持。 有关详细信息,请参阅修改观察程序标识。 - 添加使用 SQL 身份验证的 SQL 目标时,自动向观察程序授予对密钥保管库机密的访问权限。 - 向现有观察程序添加数据存储时,自动授予观察程序对 Azure 数据资源管理器数据库的访问权限。 - 在“概述”页和其他页面上添加反馈按钮。 |
2024 年 9 月 | - 修复了以下 bug:即使使用了 MARS 逻辑会话,会话统计信息数据集中的用户逻辑会话数始终与用户会话数相同。 - 修复了以下 bug:超大规模弹性池未正确报告弹性池存储利用率。 - 解决了以下问题:对于某些数据集,观察程序重启后收集的第一个样本可能包含在重启之前已收集的数据。 - 提高了集合查询性能,以避免表元数据数据集超时。 - 提高了 SQL 托管实例上查询运行时统计信息和查询等待统计信息数据集的收集可靠性。 - 将与故障转移相关的列添加到 SQL 托管实例的数据库副本数据集。 - 将索引操作统计信息列添加到索引元数据数据集。 - 添加了对在“添加 SQL 目标”边栏选项卡中选择多个 Azure SQL 数据库的支持。 |
2024 年 8 月 | - 在美国中部、美国东部 2、北欧和瑞典中部 Azure 区域中启用数据库观察程序。 - 在资产仪表板中添加订阅和资源组筛选器。 |
2024 年 7 月 | - 修复了不从包含区分大小写目录集锦的数据库或具有区分大小写数据库集锦的托管实例收集性能计数器数据集的 bug。 - 修复了如果 SQL 元数据中的数据库名称的大小写与 Azure Resource Manager (ARM) 元数据中的大小写不同时,不收集数据的 bug。 - 修复了不收集包含大量新查询和查询计划 Insert Into 查询存储表的数据库中的查询运行时统计信息和查询等待统计信息的 bug。 - 解决了不从超大规模数据库中收集异地副本和副本数据集的问题。 - 将 subscription_id 和 resource_group_name 通用 COLUMN 添加到所有数据集。 需要一次性重启观察程序。- 将 resource_id 和 通用 COLUMN 添加到所有数据集。 为 SQL 目标显示的数据均为 2024 年 7 月或之后添加的。 若要显示现有 SQL 目标的数据,请移除并重新添加目标,然后重启观察程序。 |
2024 年 6 月 | - 修复了以下 bug:未从通过 Bicep 或 ARM 模板添加的某些 SQL 目标收集数据。 - 修复了以下 bug:没有为某些 Azure SQL 数据库收集备份历史记录数据集。 - 修复了以下 bug:如果实例具有使用托管实例链接的数据库,则托管实例的副本类型被错误地确定为异地复制转发器。 在这种情况下,同一 bug 导致未收集查询运行时统计信息和查询等待统计信息数据集。 - 修复了以下 bug:如果用户无权访问 SQL 目标的订阅或者订阅已被删除,则在 Azure 门户中的“SQL 目标”边栏选项卡上导致“无法加载目标”错误。 - 修复了以下 bug:在 Azure 门户中创建观察程序时默认创建的 Azure 数据资源管理器数据库的保留期和缓存期被设置为“无限制”,而不是分别为 365 天和 31 天。 - 修复了以下 bug:某些管理操作(例如,创建或删除托管专用终结点)在 Azure 门户中报告为成功(即使这些操作失败)。 - 修复了以下 bug:对于 SQL 数据库目标,如果 SQL 逻辑服务器包含的数据库数超过 1,000 个,则下拉列表中的数据库列表不完整。 - 修复了以下 bug:选择 Azure 数据资源管理器数据库作为数据存储会删除同一资源组中其他观察程序对此数据库具有的访问权限。 - 在 Azure 门户中启用观察程序 ARM 模板导出。 - 如果在为观察程序选择的订阅中未注册 Microsoft.Network 资源提供程序,请在创建观察程序期间添加警告。 - 如果删除观察程序或托管专用终结点失败,则添加详细错误,因为资源范围存在删除锁。 |
2024 年 4 月 | - 在“澳大利亚东部”和“英国南部”Azure 区域启用数据库观察程序。 - 修复了为同一观察程序快速添加多个专用终结点时添加托管专用终结点失败的问题。 - 修复了 SQL 数据库的“备份历史记录”数据集,以包含完整备份。 - 改进了集合查询性能,以避免“索引元数据”、“查询运行时统计信息”、“查询等待统计信息”和“表元数据”等数据集超时。 - 修复了从备份还原数据库后未收集某些数据集数据的错误。 - 修复了当索引具有多个键或包含的列或这些列的名称太长时,未收集“索引元数据”数据集的错误。 - 增加了“SOS 计划程序”数据集。 - 增加了一个用来从“消耗量靠前的查询”仪表板下载所选查询计划的按钮。 - 增加了一个使用 Bicep 或 ARM 模板快速创建和配置观察程序的快速入门示例。 |
限制
本部分介绍数据库观察程序限制。 如果可用,则提供解决方法。
限制 | 解决方法 |
---|---|
如果使用较小的 Azure 数据资源管理器 SKU(如“开发/测试”或“极小”),某些仪表板查询可能会间歇性地无法执行,并出现“由于限制而中止”错误。 | 重新加载仪表板,或将 Azure 数据资源管理器群集纵向扩展到下一个更高的 SKU。 |
如果在 Azure 门户中的数据库观察程序 UI 中创建免费的 Azure 数据资源管理器群集,当尝试在 Azure 数据资源管理器 Web UI 中访问群集时,可能会收到“无法连接到群集,403-禁止”错误。 | 如果使用 https://aka.ms/kustofree 创建免费群集,则不会发生此问题。 如果已从 Azure 门户创建免费群集,请执行以下步骤: 在 Azure 数据资源管理器 Web UI 中,选择主栏中的个人资料名称以打开帐户管理器,然后选择“切换目录”。 选择“除” Microsoft 帐户以外的目录,然后选择“切换”。 现在应会看到已创建的免费 Azure 数据资源管理器群集。 或者,可以使用“编辑”(铅笔)按钮在 Azure 数据资源管理器 Web UI 中编辑群集连接,并类似地切换目录。 |
如果数据库、弹性池或 SQL 托管实例的 CPU 消耗量保持在接近 100% 的水平,则剩余的 CPU 资源可能不足以用于数据库观察程序执行数据收集查询,从而导致收集的数据存在差距。 | 如果观察到与数据库、弹性池或 SQL 托管实例中的 CPU 使用率高企相关的数据差距,请考虑优化应用程序工作负荷以减少 CPU 消耗,或增加 vCore 或 DTU 的数量,以实现可靠的监视。 |
已知问题
在预览期间,数据库观察程序存在以下已知问题。
问题 | 缓解方法或折中方法 |
---|---|
如果由于错误(例如,对 SQL 目标或数据存储的访问权限不足)而无法启动或继续数据收集,则错误不会公开。 | 若要排除故障,请参阅未收集数据。 |
如果无服务器数据库已启用自动暂停,并且已添加为数据库观察程序目标,则可能不会按预期自动暂停。 对于免费产品/服务数据库,这可能比预期更快耗尽每月免费额度。 | 如果需要保留自动暂停功能,则请不要使用数据库观察程序来监视无服务器数据库。 |
对于 Azure SQL 托管实例,如果使用 SQL 身份验证,则不会从可读的高可用性副本或异地副本收集数据。 | 有两种折中方法: 1. 使用 Microsoft Entra ID 身份验证(首选方法)。 2. 禁用密码策略检查。 执行 ALTER LOGIN [database-watcher-login-placeholder] WITH CHECK_POLICY = OFF; ,将 database-watcher-login-placeholder 替换为观察程序 SQL 身份验证登录名。 在主要副本和异地副本(如果有)上执行此命令。 |
在 Azure SQL 托管实例中,如果撤消或拒绝 public 角色对 sys.xp_msver 系统存储过程的 EXECUTE 权限,则不会收集数据。 |
授予 EXECUTE 在 sys.xp_msver 上对数据库观察程序登录名的权限。在添加为数据库观察程序目标的每个 SQL 托管实例上,执行 USE master; CREATE USER [database-watcher-login-placeholder] FOR LOGIN [database-watcher-login-placeholder]; GRANT EXECUTE ON sys.xp_msver TO [database-watcher-login-placeholder]; ,将 database-watcher-login-placeholder 替换为观察程序登录名。 |
如果为观察程序创建托管的专用终结点来连接到已停止的 SQL 托管实例,该专用终结点的预配状态会报告为“失败”,观察程序无法连接到实例。 | 删除预配状态为“失败”的托管专用终结点,并启用 SQL 托管实例。 待删除失败的专用终结点,且实例正常运行之后,重新创建托管的专用终结点。 |
如果在实时分析中使用数据库作为数据存储,并且启用了“OneLake 可用性”选项,则不会收集数据。 | 禁用“OneLake 可用性”选项并重启观察程序以恢复数据收集。 |
通过 Bicep 或 ARM 模板进行的数据库观察程序部署不具有幂等性。 如果观察程序、SQL 目标或托管专用终结点已存在,部署将会失败。 | 使用条件部署跳过部署现有资源的过程。 有关详细信息,请参阅在 Bicep 中使用 if 表达式进行条件部署和 ARM 模板中的条件部署。 |
由于 Azure SQL 数据库中存在已知问题,如果数据库目录排序规则不是默认的 SQL_Latin1_General_CP1_CI_AS ,则不会收集 Azure SQL 数据库的“备份历史记录”数据集中的数据。 |
当前无。 |
疑难解答
本部分介绍解决常见问题所要采取的步骤。 如果本部分中的步骤无法解决问题,请创建一个支持案例。
未收集数据
如果创建新的观察程序,但在仪表板和数据存储中看不到监视数据,或者仅看到较旧的数据,请查看本节内容。
在观察程序“概述”页上,检查“状态”字段以查看观察程序是否正在运行。 如果没有运行,请使用同一页上的“开始”按钮启动数据收集。 不会自动启动新的观察程序。
检查观察程序是否有访问数据存储的权限。
如果使用 Azure 数据资源管理器数据库作为数据存储,检查是否已启动 Azure 数据资源管理器群集。 有关详细信息,请参阅已停止 Azure 数据资源管理器群集。
检查观察程序是否具有特定、有限的 SQL 目标访问权限。 此外,如果为任何目标使用 SQL 身份验证,检查观察程序对密钥保管库的访问权限,或者改用建议的 Microsoft Entra 身份验证。
如果希望观察程序使用 Microsoft Entra 身份验证连接到 SQL 目标,请确保在托管数据库和弹性池目标的逻辑服务器上以及托管实例目标上启用 Microsoft Entra 身份验证。
如果为观察程序创建了任何专用终结点,请确保资源所有者已批准这些终结点。
如果使用公共连接,请确保满足观察程序连接到目标、数据存储和密钥保管库的要求。
Azure 数据资源管理器群集或数据库,或实时分析数据库在被选为观察程序的数据存储后可能已被删除。 导航到群集和数据库,并确认它们是否存在。
如果使用免费的 Azure 数据资源管理器群集,请确保尚未达到群集的存储容量。 有关详细信息,请参阅“免费 Azure 数据资源管理器群集”。
如果在故障排除过程中对观察程序访问权限或连接进行更改,则为使更改生效,可能需要停止并重启观察程序。
仪表板为空
如果选择观察程序的“仪表板”页,但未在页面上看到 SQL 目标的摘要,请展开“数据存储”一节。 如果看到“无法连接……”错误,请查看本节。
你可能无权访问数据存储。 有关详细信息,请参阅授予用户和组对数据存储的访问权限。
你可能没有与数据存储建立网络连接。 例如,如果从你的浏览器到 Azure 数据资源管理器群集的连接使用的是公共连接,但你却禁用公共访问此群集的话,就会出现这种情况。 这种情况下,也无法从 Kusto 资源管理器或 Azure 数据资源管理器 Web UI 连接到该群集。
若要解决此问题,请按照到数据存储的专用连接所述建立从计算机到 Azure 数据资源管理器群集的专用连接。
要验证是否拥有访问权限并可以连接到数据存储,以及数据存储数据库是否存在,请执行以下步骤:
在观察程序的“仪表板”页上,展开“数据存储”一节,并复制 Kusto 查询 URI 值。 请确保复制整个 URI 字符串。 同时记下“Kusto 数据库”值。
打开 Azure 数据资源管理器 Web UI。 如有提示,请登录。
选择“添加”、“连接”,并输入复制的 URI 作为“连接 URI”。
选择“添加”以创建新连接。
添加新连接项后,展开它以查看数据库。
选择在观察程序的“仪表板”页上引用为“Kusto 数据库”的数据库,然后选择选项卡栏上的 + 标识以打开连接到此数据库的新查询选项卡。
运行以下 KQL 命令:
.show database principals;
检查用户帐户或包含用户帐户的 Microsoft Entra ID 组中是否存在用于查看器或更高特权角色的行。
发送反馈
Microsoft 的数据库观察程序团队期待着你的意见和建议。 可以使用以下任一方式发送产品反馈:
- 在 SQL 反馈论坛中发布新想法。 在“发布新想法”页上,使用 SQL 作为论坛,选择 Azure SQL 组,并在标题中包含“数据库观察程序”。 你在反馈论坛中提交的反馈是公开的。 其他社区成员可以投票赞成和评论你的意见和建议。 社区投票和评论有助于数据库观察程序团队规划产品改进和确定其优先级。
- 使用 Azure 门户中的某个数据库观察程序页上的反馈按钮。 例如,可以在观察程序“概述”页上找到反馈按钮,或在刷新按钮旁边的仪表板上找到该按钮。 你以这种方式发送的反馈不是公开的。 提交反馈时,可以选择性地允许 Microsoft 通过电子邮件发送有关此反馈的跟进和澄清。
有关技术支持或帮助解决数据库观察程序的问题,请创建一个支持案例。