如何无停机实现Azure SQL数据库的DTU自动缩放
Azure SQL数据库自动缩放(无停机)配置指南
两种场景方案选择
场景1:单一SQL数据库(仅支持固定DTU层级切换)
单一SQL数据库的DTU为预设固定层级,无300 DTU选项,若需弹性调整,可在以下层级间切换:
- 低负载时:S1(20 DTU)
- 高负载时:P2(200 DTU)或P3(800 DTU)
场景2:SQL弹性池(支持自定义DTU范围)
若需实现接近20-300 DTU的弹性缩放,需将数据库加入Standard层级弹性池(注意:Standard弹性池最小DTU为100,最大可到3000;若要更低的20 DTU需选Basic弹性池,但Basic池最大仅100 DTU,无法满足300需求,建议调整最小为100 DTU)
场景1:单一数据库自动缩放配置(无停机)
- 登录Azure门户,进入目标SQL数据库概览页面
- 点击左侧导航「监控」下的「自动缩放」
- 缩放模式选择「基于指标的缩放」
- 设置「实例数范围」:这里调整的是数据库服务层级对应DTU:
- 最小值:选择「S1(20 DTU)」
- 最大值:选择「P2(200 DTU)」或「P3(800 DTU)」
- 添加扩容规则:
- 点击「添加规则」
- 指标源选当前数据库,指标名称选「CPU百分比」
- 条件设为「大于」,阈值设为70%(可根据业务实际调整)
- 操作选「更改服务层级」,目标层级选「P2」或「P3」
- 冷却时间设为10分钟(避免短时间内频繁扩容)
- 添加缩容规则:
- 点击「添加规则」
- 指标源选当前数据库,指标名称选「CPU百分比」
- 条件设为「小于」,阈值设为30%(避免轻微波动触发缩容)
- 操作选「更改服务层级」,目标层级选「S1」
- 冷却时间设为30分钟(给业务留缓冲时间)
- 点击「保存」完成配置
场景2:Standard弹性池自动缩放配置(无停机)
- 登录Azure门户,进入目标SQL弹性池概览页面
- 点击顶部菜单栏的「自动缩放」选项
- 缩放模式选择「基于指标的缩放」
- 设置「池大小」范围:
- 最小DTU:100(Standard池最低限制)
- 最大DTU:300
- 添加扩容规则:
- 点击「添加规则」
- 指标源选当前弹性池,指标名称选「CPU百分比」
- 条件设为「大于」,阈值设为70%
- 操作选「增加池大小」,设置为「300 DTU」
- 冷却时间设为10分钟
- 添加缩容规则:
- 点击「添加规则」
- 指标源选当前弹性池,指标名称选「CPU百分比」
- 条件设为「小于」,阈值设为30%
- 操作选「减少池大小」,设置为「100 DTU」
- 冷却时间设为30分钟
- 点击「保存」完成配置
无停机保障说明
无论是单一数据库的服务层级调整,还是弹性池的DTU缩放,Azure SQL均支持无停机操作:
- 调整过程中,现有数据库连接保持有效,业务不会中断
- 系统后台完成资源调度,对前端应用无感知
- 合理设置冷却时间可避免频繁缩放导致的性能波动
内容的提问来源于stack exchange,提问作者pushp
相关产品推荐
相关产品推荐

