2016-12-21 6 views
1

Не уверен, поддерживается ли она в ARM. Я мог найти только силу-оболочку references.Как скопировать базу данных Azure SQL с использованием шаблона ARM

+0

вы можете развернуть dacpac с шаблоном руки + powershell, найденным в последнее время: https://github.com/Microsoft/BikeSharing360_BackendServices/blob/master/src/BikeSharing.Services.Deploy/Data/DeployDacpac.ps1 – Milen

ответ

1

Вы не можете в данный момент развернуть 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>" 

Убедитесь, что заглавная буква названия группы ресурсов верна и что имя сервера является строчным.

0

Свойство sourceDatabaseId можно использовать для ссылки на другую базу данных. После этого вы можете указать различные createModes в зависимости от того, какую базу данных вы хотите создать:

{ "properties": { "createMode": "OnlineSecondary", "sourceDatabaseId": "[resourceId('Microsoft.Sql/servers/databases', variables('sql01Name'), 'databasename')]" } }

http://msdn.microsoft.com/en-us/library/azure/mt163685.aspx