你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
维护时段 - 已启用 Azure Arc 的数据服务
在数据控制器上配置维护时段以定义升级时间段。 在此时间段内,将会升级该数据控制器上的、其 desiredVersion
属性设置为 auto
的已启用 Arc 的 SQL 托管实例。
在设置期间指定持续时间、重复周期以及开始日期和时间。 维护时段开始后,维护的运行时长为在持续时间中设置的时间段。 附加到数据控制器的实例将开始(并行)升级。 在设置的持续时间结束时,任何正在进行的升级将会继续直至完成。 尚未在该时段内开始升级的任何实例将在下一个重复周期开始升级。
先决条件
Azure Arc 启用的 SQL 托管实例,desiredVersion
属性设置为 auto
。
限制
维护时段持续时间可为 2 小时到 8 小时。
对于每个数据控制器只能设置一个维护时段。
配置维护时段
维护时段采用以下设置:
- 持续时间 - 维护时段的运行时长,以小时和分钟 (HH:mm) 表示。
- 重复周期 - 维护时段的发生频率。 所有单词区分大小写,且必须大写。 可以设置每周或每月时段。
- 每周
- [Week | Weekly][day of week]
- 示例:
--recurrence "Week Thursday"
--recurrence "Weekly Saturday"
- 每月
- [Month | Monthly] [First | Second | Third | Fourth | Last] [day of week]
- 示例:
--recurrence "Month Fourth Saturday"
--recurrence "Monthly Last Monday"
- 如果未指定重复周期,则表示一次性维护时段。
- 每周
- 开始 - 第一个维护时段的日期和时间,格式为
YYYY-MM-DDThh:mm
(24 小时格式)。- 示例:
--start "2022-02-01T23:00"
- 示例:
- 时区 - 与维护时段关联的时区。
CLI
若要创建维护时段,请使用以下命令:
az arcdata dc update --maintenance-start <date and time> --maintenance-duration <time> --maintenance-recurrence <interval> --maintenance-time-zone <time zone> --k8s-namespace <namespace> --use-k8s
示例:
az arcdata dc update --maintenance-start "2022-01-01T23:00" --maintenance-duration 3:00 --maintenance-recurrence "Monthly First Saturday" --maintenance-time-zone US/Pacific --k8s-namespace arc --use-k8s
监视升级
在维护时段,可以查看升级状态。
kubectl -n <namespace> get sqlmi -o yaml
status.runningVersion
和 status.lastUpdateTime
字段将显示最新版本以及状态更改时间。
查看现有维护时段
可以在 datacontroller
规范中查看维护时段。
kubectl describe datacontroller -n <namespace>
输出:
Spec:
Settings:
Maintenance:
Duration: 3:00
Recurrence: Monthly First Saturday
Start: 2022-01-01T23:00
Time Zone: US/Pacific
失败的升级
升级失败时不会自动回滚。 如果某个实例无法自动升级,则需要使用 az sql mi-arc update
手动干预,以将该实例固定到其当前正在运行的版本。 问题解决后,可将版本重新设置为“auto”。
az sql mi-arc upgrade --name <instance name> --desired-version <version>
示例:
az sql mi-arc upgrade --name sql01 --desired-version v1.2.0_2021-12-15
禁用维护时段
禁用维护时段后,自动升级将不运行。
az arcdata dc update --maintenance-enabled false --k8s-namespace <namespace> --use-k8s
示例:
az arcdata dc update --maintenance-enabled false --k8s-namespace arc --use-k8s
启用维护时段
启用维护时段后,自动升级将会恢复。
az arcdata dc update --maintenance-enabled true --k8s-namespace <namespace> --use-k8s
示例:
az arcdata dc update --maintenance-enabled true --k8s-namespace arc --use-k8s
更改维护时段选项
update 命令可用于更改任何选项。 在此示例中,我将更新开始时间。
az arcdata dc update --maintenance-start <date and time> --k8s-namespace arc --use-k8s
示例:
az arcdata dc update --maintenance-start "2022-04-15T23:00" --k8s-namespace arc --use-k8s