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

使用Bicep将数据库映射到50 DTU标准弹性池的配置问题

问题解决:Bicep创建SQL数据库关联弹性池时的索引越界错误

错误原因分析

你遇到的'The language expression property array index '1' is out of bounds.'错误,大概率是数据库SKU配置与弹性池关联逻辑冲突导致的:要么给数据库设置了独立数据库的SKU参数(比如单库的S0/S1)同时尝试关联弹性池,要么SKU的capacity参数格式不符合要求(比如用了数字而非字符串类型)。

正确配置步骤

1. 50 DTU Standard弹性池的SKU配置

确保弹性池的SKU参数正确,注意capacity必须是字符串类型:

resource sqlServer 'Microsoft.Sql/servers@2023-05-01-preview' = {
  name: 'your-sql-server-name'
  location: resourceGroup().location
  properties: {
    administratorLogin: 'adminuser'
    administratorLoginPassword: 'your-strong-password'
  }
}

resource sqlElasticPool 'Microsoft.Sql/servers/elasticPools@2023-05-01-preview' = {
  parent: sqlServer
  name: 'standard-50dtu-pool'
  properties: {
    sku: {
      name: 'StandardPool'
      tier: 'Standard'
      capacity: '50' // 必填字符串类型,对应50 DTU
    }
    maxSizeBytes: 34359738368 // 可选,示例为32GB,按需调整
  }
}

2. 数据库关联弹性池的配置

数据库无需配置独立SKU参数,只需指定elasticPoolId指向弹性池资源ID即可(若要显式写SKU,仅需name: 'ElasticPool'):

resource sqlDatabase 'Microsoft.Sql/servers/databases@2023-05-01-preview' = {
  parent: sqlServer
  name: 'your-db-name'
  properties: {
    elasticPoolId: sqlElasticPool.id // 核心:关联到目标弹性池
    // 可选:若显式设置SKU,仅需指定name为ElasticPool,无需其他参数
    sku: {
      name: 'ElasticPool'
    }
  }
}

关键注意事项

  • 数据库关联弹性池后,所有性能参数(DTU、存储等)由弹性池统一管控,无需在数据库层级重复配置
  • 弹性池的capacity必须是字符串类型,务必加单引号(比如'50'而非50),否则会触发类型错误
  • 确保elasticPoolId的资源ID正确,通过Bicep的parent关联或直接引用弹性池的id属性可避免拼写错误

内容的提问来源于stack exchange,提问作者The Senator

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:30:45