我有一个包含多个数据库的 SQL Server,并且创建了一个弹性池。我想使用二头肌将所有非弹性数据库添加到弹性池中。使用下面的代码,试运行没有任何变化。
param serverName string
param elasticPoolName string
param databaseNames array
resource server 'Microsoft.Sql/servers@2022-02-01-preview' existing = {
name: serverName
}
resource elasticPool 'Microsoft.Sql/servers/elasticPools@2022-02-01-preview' existing = {
parent: server
name: elasticPoolName
}
resource db 'Microsoft.Sql/servers/databases@2022-02-01-preview' existing = [for dbName in databaseNames: {
name: dbName
parent: server
properties: {
elasticPoolId: elasticPool.id
}
}]
在 VS Code 中,我收到有关属性块的警告。
属性“properties”是只读的。表达式不能分配给只读属性。如果这是文档中的不准确之处
我是否错误地使用了任何资源?
要将数据库添加到现有弹性池中,不需要使用
existing
关键字,而是在现有数据库的 elasticPoolId: elasticPool.id
块下直接包含 properties
将强制将数据库添加到弹性池中,如下所示。
param serverName string = 'jahnaviser'
param elasticPoolName string = 'newpool'
param databaseNames string = 'newjdb' //My existed database
resource server 'Microsoft.Sql/servers@2022-02-01-preview' existing = {
name: serverName
}
resource elasticPool 'Microsoft.Sql/servers/elasticPools@2022-02-01-preview' existing = {
parent: server
name: elasticPoolName
}
resource sqlDB 'Microsoft.Sql/servers/databases@2022-05-01-preview' = {
parent: server
name: databaseNames
location: location
properties: {
elasticPoolId: elasticPool.id
}
}
注意: 您可以相应地使用
for
循环对多个数据库执行相同的操作。
部署成功: