Terraform azurerm_mssql_database使用Premium系列SKU报错:无效SKU名称
问题根源
你使用的HS_PRMS_8并非有效的Azure SQL SKU名称:
HS_前缀属于**Hyperscale(超大规模)**系列,该系列SKU固定格式为HS_{Generation}_{vCores}(比如你能正常使用的HS_Gen5_4),不存在PRMS这类后缀。- Premium系列SKU分两种规范:
- DTU模式:直接使用
P1、P2、P4等标识(对应不同DTU配额) - vCore模式(业务关键层,等效Premium性能):格式为
BC_{Generation}_{vCores},例如BC_Gen5_8
- DTU模式:直接使用
修正后的配置示例
若使用Premium DTU模式:
resource "azurerm_mssql_database" "module_sqldatabase" { name = var.sqlserverdatabase_name server_id = azurerm_mssql_server.module_sqlserver.id collation = "SQL_Latin1_General_CP1_CI_AS" max_size_gb = 2 sku_name = "P2" # 替换为你需要的P系列SKU tags = local.common_tags }
若使用vCore业务关键层(等效Premium性能):
resource "azurerm_mssql_database" "module_sqldatabase" { name = var.sqlserverdatabase_name server_id = azurerm_mssql_server.module_sqlserver.id collation = "SQL_Latin1_General_CP1_CI_AS" max_size_gb = 2 sku_name = "BC_Gen5_8" # 业务关键层vCore SKU tags = local.common_tags }
额外验证方法
可通过Azure CLI命令列出目标区域支持的SQL Database SKU,确认有效名称:
az sql db list-skus --location <你的资源组所在区域> --output table
内容的提问来源于stack exchange,提问作者Hari G
相关产品推荐
相关产品推荐

