I am trying to build a new ARM template to deploy, among others, a SQL server along with a Database.
My starting point was to export the template from the Azure resource group where I had this deployed and start from there. However, when trying to deploy that template I always got a Conflict status with this cryptical error message:
1 2 3 4 5 6 7 8 9 10 11 12 13
{ "status": "Failed", "error": { "code": "ResourceDeploymentFailure", "message": "The resource operation completed with terminal provisioning state 'Failed'.", "details": [ { "code": "InternalServerError", "message": "An unexpected error occured while processing the request. Tracking ID: '...'" } ] } }
The error itself doesn’t say much, and internet didn’t help a lot either unfortunately. The resource group I am deploying into is clean, so the chance of a conflict was relatively low.
The template looks legit, so I tried finding some samples for deploying a database and I quickly found an azure quickstart template that promised to do just that.
The template, as is, fails for me due to an older apiVersion property - (2015-01-01) but it works fine if you update that to the latest value of 019-06-01-preview
Starting from here, with some experimentation, it was easy to find that the the culprit in the first template was this rogue setting under properties "storageAccountType": "GRS"
As soon as we remove that, and without any changes, the original template starts working. The templates are slightly different (especially in how they define the type and name of the database) however they both work fine… with one small caveat.
Template1 The template that we downloaded from the portal,
After we update the apiVersion to make it work, will deploy a General Purpose: Gen5, 2 vCores database that is way more expensive than the Basic. My assumption is that the edition and requestedServiceObjectiveName parameters we see under properties are deprecated in the new Api version and because the sku id missing Azure will deploy a Db with the default scale.
Goodluck deploying your Azure SQL servers and databases with ARM templates.
Posts
Azure AD App Registration Branding Logo - Programatic upload
When you register a new application in Azure AD, especially those that will be used to login users or gather additional permissions, the branding sect
4+ ways to get data into CosmosDB
There are many ways to insert data in Cosmos DB and many use cases when you want to do that. In this article we’ll dive in the use case of bulk-updati
.NET 5 performance improvements
What an amazing update about performance improvements in the upcoming .NET 5 by Stephen Toub! A 1h+ read with so many amazing tidbits of information.
How unit tests and CI saved me from a world of pain
I recently had to fix a bug in an older codebase that did not follow the best practices when handling date times. In short, every Date Time in the app
Azure Logic App - Limit concurrent calls
One of the nicest things about Logic Apps is how seamless and fast their execution goes and how little you have to worry about managing concurrency an
Pages
Oups - page not found
About
Passionate programmer, Keen learner, Microsoft Technology Fan Tales of the (not so distant) pastI had a passion for computers since very early age, st
Books
I love reading. I’ve always loved reading and I was really lucky growing up that my dad had a rather large collection of books for the time and he ins