I am currently creating an Environment Deployment Package using ARM and I want to be able copy an existing Azure SQL Database (schema and data) to another Azure SQL Database in a new Resource Group. I created a .bacpac file from the original SQL Database and uploaded it into a Storage Account. I then added a SQL Database Import Resource to my Template and pointed it at the URI of the .bacpac file I created. When I try to run the Deployment, I get this error.
A project which specifies Microsoft Azure SQL Database v12 as the target platform cannot be published to Microsoft Azure SQL Database
{
"name": "[concat(parameters('environment'),'dbagg')]",
"type": "databases",
"location": "[resourceGroup().location]",
"apiVersion": "2014-04-01-preview",
"dependsOn": [
"[variables('sqlServerName')]"
],
"tags": {
"displayName": "AggregationDatabase"
},
"properties": {
"collation": "[parameters('AggregationDatabaseCollation')]",
"edition": "[parameters('AggregationDatabaseEdition')]",
"maxSizeBytes": "1073741824",
"requestedServiceObjectiveName": "[parameters('AggregationDatabaseRequestedServiceObjectiveName')]"
},
"resources": [
{
"name": "Import",
"type": "extensions",
"apiVersion": "2014-04-01-preview",
"dependsOn": [
"[concat(parameters('environment'),'dbagg')]"
],
"tags": {
"displayName": "Copy Azure SQL DB"
},
"properties": {
"storageKeyType": "Primary",
"storageKey": "key",
"storageUri": "https://test.blob.core.windows.net/databasefiles/AggregationServerDCT.bacpac",
"administratorLogin": "[parameters('sqlAdminLogin')]",
"administratorLoginPassword": "[parameters('sqlAdminLoginPassword')]",
"operationMode": "Import"
}
}
]
}
Any help would be greatly appreciated on this.
You should double check if the version of the target logical server is V12 as well (or same as source). Also, for copy an existing Azure Sql Database you can use database copy API ("createMode": "Copy"): https://msdn.microsoft.com/en-us/library/mt163685.aspx
Thanks,
Mihaela
The problem is that you are using the wrong value for
storageKeyType
. You need to useStorageAccessKey
.I use a template like this and that is working correctly, the only difference I see is this key type.
See also this documentation about all the properties and possible values: https://msdn.microsoft.com/en-us/library/azure/mt683388.aspx.