Azure SQL托管实例启停选项未显示,需配置哪些参数?
解决Azure SQL托管实例启停功能不显示的问题
关键配置与步骤
1. 先注册预览功能
即使实例符合通用层级要求,也必须先在Azure订阅中注册SqlManagedInstanceStopStart预览功能:
az feature register --namespace Microsoft.Sql --name SqlManagedInstanceStopStart
等待注册状态变为Registered(约10-30分钟),再刷新订阅提供商状态:
az provider register --namespace Microsoft.Sql
2. Terraform实例的核心配置
创建azurerm_mssql_managed_instance时,需补充以下关键参数:
- 你使用的
GP_Gen5已满足通用服务层级要求,无需调整SKU - 显式开启启停功能,并绑定支持2022年11月功能更新的维护配置:
resource "azurerm_mssql_managed_instance" "example" { name = "example-mssql-mi" resource_group_name = azurerm_resource_group.example.name location = azurerm_resource_group.example.location administrator_login = "miadmin" administrator_login_password = "YourStrongPass123" subnet_id = azurerm_subnet.example.id sku_name = "GP_Gen5_8" # 启停功能的核心开关 feature_capabilities { allow_stop_start = true } # 绑定支持2022年11月更新的维护配置(需匹配实例所在区域) maintenance_configuration_id = "/subscriptions/你的订阅ID/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_2022_11_MI_你的区域" }
可通过以下命令查询对应区域的维护配置ID:
az maintenance public-configuration list --query "[?contains(name, 'SQL_2022_11_MI')]"
3. 验证功能
实例更新完成后(约10-15分钟),进入Azure门户的托管实例详情页,在左侧菜单“操作”分类下即可看到“启动/停止”选项。
临时替代方案
若预览功能暂无法启用,可使用Azure自动化账户创建Runbook,通过PowerShell定时启停实例:
- 编写脚本调用
Stop-AzSqlInstance和Start-AzSqlInstance命令 - 创建时间触发器,设置夜间停止、次日启动的计划,无需销毁重建实例
内容的提问来源于stack exchange,提问作者kkarczewski
相关产品推荐
相关产品推荐

