你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure SQL 数据库中配置计划内维护事件的提前通知

适用于:Azure SQL 数据库

提前通知可用于配置为使用非默认维护时段的数据库。 使用提前通知,客户可以将通知配置为最多在发生任何计划事件前的 24 小时内发送。

可以将通知配置为让你在计划内维护开始前 24 小时收到短信、电子邮件、Azure 推送通知和语音邮件。 在维护开始时以及在维护结束时,还会发送后续通知。

重要

对于 Azure SQL 数据库,无法为“系统默认”维护时段选项配置提前通知。 选择除“系统默认”以外的其他维护时段,以配置和启用“提前通知”。

我们通常设定了维护时段。 Azure SQL 数据库和 Azure SQL 托管实例的维护时段提前通知功能均已正式发布。

配置提前通知

完成以下步骤,在 Azure 门户“服务运行状况”页中启用通知

重要

服务运行状况分阶段推出新体验。 某些用户会看到更新后的 Azure 服务运行状况门户体验,其他用户仍会看到经典服务运行状况门户体验。 如果你仍然看到经典的服务运行状况门户,则对于“区域”,请不要选择“全局”选项,而是选择特定区域或所有区域。

  1. 转到服务运行状况计划内维护页,选择“运行状况警报”,然后选择“添加服务运行状况警报”

    Azure 门户中“运行状况警报”页的屏幕截图。“添加服务运行状况警报”按钮已用红色框标记出来。

  2. 在“范围”部分,选择订阅。

    Azure 门户页的屏幕截图,其中选择了在其中配置运行状况警报的订阅。

  3. 在“条件”部分,配置要针对其发出警报的服务、区域和条件。 对于更多通用警报,请选择所有值。 若要缩小范围,请选择 Azure SQL 数据库即服务、已部署这些服务的区域以及事件类型的“计划内维护”

    Azure 门户页面的屏幕截图,可在其中定义运行状况警报的条件和要通知的服务。

    Azure 门户页面的屏幕截图,可在其中定义运行状况警报的条件和要通知的区域。

    Azure 门户页面的屏幕截图,可在其中定义运行状况警报的条件和要通知的事件类型。

  4. 在“操作”部分,选择现有操作组或创建一个新操作组。

    Azure 门户页的屏幕截图,可在其中添加或创建操作组。

  5. 在“详细信息”部分,定义警报的名称,并指定应在其中部署警报的资源组。

    Azure 门户页的屏幕截图,可在其中定义警报详细信息。

  6. 选择“查看 + 创建”。 警报已创建完毕。

  7. 已经完成全部设置。 下次发生计划内 Azure SQL 维护事件时,你将收到提前通知。

若要详细了解如何创建运行状况警报,请访问 Azure 服务运行状况

接收通知

下表显示了你可能会收到的常规信息通知:

状态 说明
已计划 在发生维护事件前的 24 小时内收到。 计划在下午 5 点至上午 8 点1(当地时间)之间的日期范围内在 region_name 区域进行维护
InProgress 正在启动对区域“region_name”中的数据库的维护
完成 region_name 区域中的数据库维护已完成

1 开始时间和结束时间取决于所选的维护时段

下表显示了在进行维护时可能会发送的其他通知:

状态 说明
重新计划 - 正在进行维护,但未在维护时段内完成。
- 在维护过程中出现问题,无法启动。
- 计划内维护已启动,但无法进行到最后,将在下一个维护时段继续。
已取消 region_name 区域中的数据库维护已取消,稍后将重新计划

权限

虽然可以将高级通知发送到任何电子邮件地址,但 Azure 订阅基于角色的访问控制 (RBAC) 策略决定谁可以访问电子邮件中的链接。 Azure RBAC 访问管理涵盖了查询资源图。 要启用读取访问权限,每个收件人都应具有资源组级别的读取访问权限。 有关详细信息,请参阅分配 Azure 角色的步骤

检索受影响资源的列表

Azure Resource Graph 是可以扩展 Azure 资源管理的 Azure 服务。 Azure Resource Graph Explorer 提供高效且高性能的资源浏览。 可以在一组给定的订阅中进行大规模查询,以便有效地控制环境。

你可以使用 Azure Resource Graph Explorer 查询维护事件。 有关如何运行这些查询的介绍,请参阅快速入门:使用 Azure Resource Graph Explorer 运行第一个 Resource Graph 查询

收到计划维护的高级通知后,你将获得一个链接,该链接将打开 Azure Resource Graph 并执行确切事件的查询,类似于以下内容。 每个维护事件的 notificationId 值是唯一的。

resources
| project resource = tolower(id)
| join kind=inner (
    maintenanceresources
    | where type == "microsoft.maintenance/updates"
    | extend p = parse_json(properties)
    | mvexpand d = p.value
    | where d has 'notificationId' and d.notificationId == 'LNPN-R9Z'
    | project resource = tolower(name), status = d.status, resourceGroup, location, startTimeUtc = d.startTimeUtc, endTimeUtc = d.endTimeUtc, impactType = d.impactType
) on resource
| project resource, status, resourceGroup, location, startTimeUtc, endTimeUtc, impactType

在 Azure Resource Graph (ARG) 资源管理器中,你可能会发现部署状态的值与通知内容中显示的值略有不同。

状态 说明
挂起 - 计划在即将到来的日期进行维护。
- 先前计划的维护已重新计划,正在等待在下一个时段启动。
- 维护已在上一个时段中启动但未完成,将在下一个时段中继续。
InProgress 资源 region_name 的维护正在启动或正在进行中
已完成 对资源 region_name 的维护已完成
NoUpdatesPending 资源 region_name 之前的计划内维护已取消,并重新计划在以后进行
RetryLater 资源 region_name 的计划内维护已启动,但无法进行到最后,将在下一个维护时段继续

有关示例查询的完整参考以及如何跨 PowerShell 或 Azure CLI 等工具使用这些查询,请访问适用于 Azure 服务运行状况的 Azure Resource Graph 查询示例