最初,我们通过 ARM 模板在 Azure 中部署了数据库弹性池。该池为标准版,共有 50 个 EDTU。通过发布管理从 VSTS 部署应用程序时会发生这种情况。
在某些时候,数据库的大小增加了,因此我们不得不增加池的 EDTU 以获得一些额外的空间。我们直接从门户网站执行此操作,并且没有通过 ARM 模板进行部署。我们将 EDTU 增加到 100。
现在,当我们想通过 VSTS 重新部署应用程序并使用 ARM 模板时,就会出现问题。我们更新了 ARM 模板中的值以反映我们在门户中配置的值 (100),但我们收到以下错误。
无法减少弹性池“pool-name”的 DTU 或存储限制,因为这不会为其数据库提供足够的存储空间。"
我们用于池的 ARM 模板如下所示
{
"comments": "The elastic pool that hosts all the databases",
"apiVersion": "2014-04-01-preview",
"type": "elasticPools",
"location": "[resourceGroup().location]",
"dependsOn": ["[concat('Microsoft.Sql/Servers/', variables('sqlServerName'))]"],
"name": "[variables('elasticPoolName')]",
"properties": {
"edition": "Standard",
"dtu": "100",
"databaseDtuMin": "0",
"databaseDtuMax": "10",
}
}
该消息是描述性的,但我们不明白为什么它会尝试减小大小,即使我们通过 EDTU 值提供了适当的大小。