Не уверен, поддерживается ли она в ARM. Я мог найти только силу-оболочку references.Как скопировать базу данных Azure SQL с использованием шаблона ARM
ответ
Вы не можете в данный момент развернуть dacpac с шаблоном ARM. В приведенной выше ссылке используется 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 = 'Копировать'
И обязательно, чтобы обеспечить полное RESOURCEID отформатированный следующим образом:
"/subscriptions/<sub-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/Servers/<server-name>/databases/<database-name>"
Убедитесь, что заглавная буква названия группы ресурсов верна и что имя сервера является строчным.
Свойство sourceDatabaseId можно использовать для ссылки на другую базу данных. После этого вы можете указать различные createModes в зависимости от того, какую базу данных вы хотите создать:
{ "properties": { "createMode": "OnlineSecondary", "sourceDatabaseId": "[resourceId('Microsoft.Sql/servers/databases', variables('sql01Name'), 'databasename')]" } }
вы можете развернуть dacpac с шаблоном руки + powershell, найденным в последнее время: https://github.com/Microsoft/BikeSharing360_BackendServices/blob/master/src/BikeSharing.Services.Deploy/Data/DeployDacpac.ps1 – Milen