计划内维护事件的提前通知(预览版)

适用于: Azure SQL 数据库 Azure SQL 托管实例

提前通知(预览版)适用于配置为使用非默认维护时段的数据库和具有任何配置(包括默认配置)的托管实例。 使用提前通知,客户可以将通知配置为最多在发生任何计划事件前的 24 小时内发送。

可以配置通知,以便可以在接下来的 24 小时内按计划开始计划内维护时获取文本和电子邮件。 在维护开始和结束时,将发送其他通知。

重要

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

注意

虽然维护时段通常是可用的,但维护时段的高级通知在 Azure SQL 数据库和 Azure SQL 托管实例的公共预览中。

配置提前通知

提前通知适用于已配置维护时段的 Azure SQL 数据库。

若要启用通知,请完成以下步骤。

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

    “创建新的运行状况警报”菜单选项

  2. 在“操作”部分中,选择“添加操作组”。

    “添加操作组”菜单选项

  3. 填写“创建操作组”表单,然后选择“下一步: 通知”。

    “创建操作组”表单

  4. 在“通知”选项卡上,选择“通知类型”。 “电子邮件/短信”选项提供最大的灵活性,并且是推荐选项。 选择笔以配置通知。

    配置通知

    1. 填写打开的“添加或编辑通知”表单,然后选择“确定”:

    2. 操作和标记是可选的。 可在此处配置要触发的其他操作,或使用标记对 Azure 资源进行分类和组织。

    3. 查看“查看 + 创建”选项卡上的详细信息,然后选择“创建”。

  5. 选择“创建”后,将打开“警报规则配置”屏幕并选择操作组。 为新的警报规则提供名称,为其选择资源组,然后选择“创建警报规则”。

  6. 再次单击“运行状况警报”菜单项,警报列表现在包含新警报。

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

接收通知

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

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

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

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

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

权限

虽然可以将提前通知发送到任何电子邮件地址,但 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) 资源管理器中,你可能会发现部署状态的值与通知内容中显示的值略有不同。

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

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

后续步骤