1. Home
  2. Training Library
  3. Cloud Migration
  4. Courses
  5. Implementing Azure SQL Databases

ARM Templates Deployment

Start course
1h 19m

This course explores how to plan and implement data platform resources specifically with regards to Azure SQL offerings. In particular, we will explore the benefits and features of the SQL PaaS offerings along with billing models, service tiers, and high availability options. We'll also cover migration scenarios and provide a demo that migrates a sample database from an on-premise SQL Server to an Azure SQL managed instance using DMS.

If you have any feedback relating to this course, feel free to contact us at support@cloudacademy.com.

Learning Objectives

  • Get a general understanding of Azure SQL databases
  • Learn how to deploy Azure SQL databases
  • Understand business continuity and security tie in with SQL databases
  • Learn how to scale, upgrade, and partition your databases
  • Learn how to migrate a database from an on-premise SQL Server to an Azure SQL instance

Intended Audience

  • Anyone who wants to learn about Azure SQL Offerings 
  • Those preparing for Microsoft’s DP-300 exam


To get the most out of this course, you have should a general understanding of the fundamentals of Microsoft Azure. Experience using databases — especially SQL Server — would also be beneficial.


ARM Templates are a way to define Azure resources like virtual machines or databases using code in the form of JSON text. A template can define multiple resources some of which may depend on others that form a complete deployment.

In this example, the template defines a virtual machine, an app service and the database. The app service resources linked to the database because it references it, but it does not depend on it as the app service resource can exist without it even if it doesn't work correctly. However, a database does depend on a database server, as a functioning database cannot exist without a database server.

The main benefit of using templates to create and deploy resources is consistency and speed. Every time you submit a template to create a resource you will get the same result. By including templates in your source code repository, they can be versioned and the history of changes tracked.

We need to deploy a solution from your CI/CD pipeline. Templates can create the infrastructure afresh for your solution to run on. There are many examples of ARM Templates you can download from the Azure Marketplace or find on GitHub. This is what an ARM Template solution on GitHub looks like.

Some of you may be thinking, how can we use a template to repeatedly create the same type of resource when each resource must have unique name. In this screenshot from GitHub, we can see the template file azuredeploy.json, and a file of parameters azuredeploy.parameters.json.

You edit the parameters file to give your resources unique and specific properties related to your deployment. In this parameter file, we are specifying a unique server name, administrator login and password. Here are other parameters defined in the azuredeploy.json file, that can be used to customize the deployment further.

If we look into the template files parameters section we can see how the parameters are defined. You can use PowerShell or the Azure CLI to create resources with templates. Here are examples using both methods where the first command is to create a resource group and then using the newly created group in conjunction with the template file, the Deployment command creates the resources.


Course Introduction - Azure SQL Databases Overview - Deployment Options - DEMO: Deploying Azure SQL Databases - Business Continuity - Security Database Services - Scale and Performance - DEMO: Scaling Azure SQL Databases - Partitioning Data - Migrating to Azure - Migration Scenarios - DEMO: DMS Azure SQL Database Migration Process - Upgrade Scenarios - Summary

About the Author
Learning Paths

Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a  Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard.