不确定ARM是否支持它。我只能找到power-shell references。
答案 0 :(得分:2)
目前无法使用ARM模板部署dacpac。上面的链接使用PowerShell但不使用ARM。但是,您可以使用ARM模板创建从源数据库创建数据库作为副本。
查找任何Azure操作的示例模板的一种简单方法是在门户中执行操作 - 在这种情况下,复制数据库 - 然后在门户中打开相应的资源组刀片,列出部署,找到部署刚刚提交并打开它。然后从菜单栏中选择ViewTemplate并检查“模板”选项卡和“参数”选项卡。这些显示完整模板和实际使用的参数值。然后,您可以下载该模板,并附带Powershell脚本。
对于数据库副本,这是模板:
{
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"databaseName": {
"type": "string"
},
"serverName": {
"type": "string"
},
"location": {
"type": "string"
},
"createMode": {
"type": "string"
},
"sourceDatabaseId": {
"type": "string"
},
"requestedServiceObjectiveName": {
"type": "string"
}
},
"resources": [
{
"apiVersion": "2014-04-01-preview",
"location": "[parameters('location')]",
"name": "[concat(parameters('serverName'), '/', parameters('databaseName'))]",
"properties": {
"createMode": "[parameters('createMode')]",
"sourceDatabaseId": "[parameters('sourceDatabaseId')]",
"requestedServiceObjectiveName": "[parameters('requestedServiceObjectiveName')]"
},
"type": "Microsoft.Sql/servers/databases"
}
]
}
对于数据库副本createMode ='Copy'
并确保提供完全限定的resourceId格式如下:
"/subscriptions/<sub-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/Servers/<server-name>/databases/<database-name>"
确保资源组名称大小写正确且服务器名称全部为小写。
答案 1 :(得分:1)
您可以使用sourceDatabaseId属性引用另一个数据库。然后,您可以根据要创建的数据库类型指定各种createModes:
{
"properties": {
"createMode": "OnlineSecondary",
"sourceDatabaseId": "[resourceId('Microsoft.Sql/servers/databases', variables('sql01Name'), 'databasename')]"
}
}