You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ARM模板部署SQL Database时配置不生效及SKU属性问题咨询

问题:ARM模板部署SQL数据库时配置参数被忽略

我在ARM模板中配置SQL Database的片段如下:

{
      "type": "Microsoft.Sql/servers/databases",
      "name": "[concat(variables('SqlServerName'), '/', variables('dbName'))]",
      "tags": {
        "displayName": "Database"
      },
      "location": "[resourceGroup().location]",
      "apiVersion": "2020-02-02-preview",
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', variables('SqlServerName'))]"
      ],
      "properties": {
        "collation": "[parameters('dbCollation')]",
        "edition": "[parameters('dbEdition')]",
        "maxSizeBytes": "53687091200",
        "requestedServiceObjectiveName": "[parameters('dbRequestedServiceObjectiveName')]"
      }
}

参数配置:

"dbEdition": {
      "value": "Standard"
    },
    "dbRequestedServiceObjectiveName": {
      "value": "S2"
    }

但部署后这些配置被忽略,数据库没有按照设定的参数创建,问题出在哪里?


更新

评论里指出,对应版本的规范中edition属性已不再使用,需要改用sku属性来定义,格式示例如下:

"sku": {
  "name": "S2",
  "tier": "Standard",
  "capacity": 1
}

但我用PowerShell脚本获取指定区域可用SKU列表时,返回的表格表头和sku对象的属性名不一致,这就很尴尬🤦‍♂️


解答

核心原因:API版本与属性定义不匹配

你使用的API版本是2020-02-02-preview,这个版本已经废弃了properties下的edition和requestedServiceObjectiveName属性,必须通过独立的sku对象来配置数据库的层级、规格名称和容量。

修正后的模板片段

把原来在properties里的层级和规格配置移到sku对象中,调整后的代码如下:

{
  "type": "Microsoft.Sql/servers/databases",
  "name": "[concat(variables('SqlServerName'), '/', variables('dbName'))]",
  "tags": {
    "displayName": "Database"
  },
  "location": "[resourceGroup().location]",
  "apiVersion": "2020-02-02-preview",
  "dependsOn": [
    "[resourceId('Microsoft.Sql/servers', variables('SqlServerName'))]"
  ],
  "sku": {
    "name": "[parameters('dbRequestedServiceObjectiveName')]",
    "tier": "[parameters('dbEdition')]",
    "capacity": 1
  },
  "properties": {
    "collation": "[parameters('dbCollation')]",
    "maxSizeBytes": "53687091200"
  }
}

PowerShell输出与sku属性的对应关系

PowerShell返回的表格表头和sku属性是一一对应的,只是表述不同:

  • 表格里的Name对应sku的name(比如S2)
  • 表格里的Tier对应sku的tier(比如Standard)
  • 表格里的Capacity对应sku的capacity
    直接按对应关系映射配置即可。

内容的提问来源于stack exchange,提问作者François

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:45:49