我正在部署带有 SQL Server 自动调优的 ARM 模板,我正在启用创建索引、删除索引和强制最后一个好的计划。这是我的 ARM 模板代码。
{
"apiVersion": "2014-04-01",
"name": "[variables('databaseServerName')]",
"type": "Microsoft.Sql/servers",
"location": "[variables('databaseServerLocation')]",
"tags":{
"displayName": "SqlServer"
},
"properties": {
"administratorLogin": "[variables('databaseAdminLogin')]",
"administratorLoginPassword": "[variables('databaseAdminPassword')]",
"version": "12.0"
},
"resources": [
{
"apiVersion": "2015-01-01",
"name": "[variables('databaseName')]",
"type": "databases",
"location": "[variables('databaseServerLocation')]",
"tags": {
"displayName": "Database"
},
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('databaseServerName'))]"
],
"properties": {
"edition": "[parameters('databaseEdition')]",
"collation": "SQL_Latin1_General_CP1_CI_AS",
"requestedServiceObjectiveName": "[parameters('databaseRequestedServiceObjectiveName')]"
}
},
{
"type": "firewallRules",
"apiVersion": "2014-04-01",
"dependsOn": [
"[concat('Microsoft.Sql/servers/', variables('databaseServerName'))]"
],
"location": "[variables('databaseServerLocation')]",
"name": "AllowAllWindowsAzureIps",
"properties": {
"endIpAddress": "0.0.0.0",
"startIpAddress": "0.0.0.0"
}
},
{
"type": "advisors",
"name": "ForceLastGoodPlan",
"apiVersion": "2014-04-01",
"properties": {
"autoExecuteValue": "Enabled"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', variables('databaseServerName'))]"
]
},
{
"type": "advisors",
"name": "CreateIndex",
"apiVersion": "2014-04-01",
"properties": {
"autoExecuteValue": "Enabled"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', variables('databaseServerName'))]"
]
},
{
"type": "advisors",
"name": "DropIndex",
"apiVersion": "2014-04-01",
"properties": {
"autoExecuteValue": "Enabled"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', variables('databaseServerName'))]"
]
}
]
},
当我尝试部署模板时遇到此错误。据我了解,如果我尝试在短时间内部署两次,可能会发生此错误。然而,第一次部署是在 24 小时前。
BadRequest {
"code": "45363",
"message": "Server automatic tuning settings from previous request have not propagated to all databases yet. Please try again in few minutes.",
"target": null,
"details": [{
"code": "45363",
"message": "Server automatic tuning settings from previous request have not propagated to all databases yet. Please try again in few minutes.",
"target": null,
"severity": "16"
}],
"innererror": []
}
任何人都可以提供一些有关如何避免此错误的见解吗?当我在几分钟后再次尝试时,它确实起作用了,但它也导致应用程序关闭了几分钟。
最佳答案
{
"type": "advisors",
"name": "ForceLastGoodPlan",
"apiVersion": "2014-04-01",
"properties": {
"autoExecuteValue": "Enabled"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', variables('databaseServerName'))]",
"CreateIndex"
]
},
{
"type": "advisors",
"name": "CreateIndex",
"apiVersion": "2014-04-01",
"properties": {
"autoExecuteValue": "Enabled"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', variables('databaseServerName'))]",
"DropIndex"
]
},
{
"type": "advisors",
"name": "DropIndex",
"apiVersion": "2014-04-01",
"properties": {
"autoExecuteValue": "Enabled"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', variables('databaseServerName'))]",
"[variables('databaseName')]"
]
}
我会尝试使用这些子资源创建一个 dependentOn 链。
关于Azure ARM 模板 SQL Server 自动调整部署错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031421/