FREE STUDY NOTES · DP-900

Azure SQL Database vs SQL Managed Instance vs SQL Server on Azure VMs

The three Azure SQL options side by side: IaaS or PaaS, compatibility, management and availability.

From Ultra Transcenders DP-900 by Tony Rough (publishing soon)

Azure SQL is the collective name for the family of Microsoft SQL Server-based database services in Azure. All three members speak Transact-SQL, but they differ in service model, compatibility, architecture and availability.

Feature SQL Server on Azure VMs Azure SQL Managed Instance Azure SQL Database
Type of cloud service IaaS PaaS PaaS
SQL Server compatibility Fully compatible with on-premises physical and virtualised installations; lift and shift without change Near-100% compatibility with SQL Server; most databases migrate with minimal code changes Supports most core database-level capabilities; some features an on-premises app depends on may be missing
Architecture SQL Server instances installed in a VM; each instance can hold multiple databases Each managed instance can hold multiple databases; instance pools share resources across smaller instances A single database on a logical server, or an elastic pool sharing resources across databases
Availability (SLA) 99.99% 99.99% 99.995%
Management Customer manages everything: OS and SQL Server updates, configuration, backups Fully automated updates, backups and recovery Fully automated updates, backups and recovery
Best fit Migrate or extend on-premises SQL Server and keep full control of server and database configuration Most cloud migrations, especially with minimal changes to existing apps New cloud solutions, or apps with minimal instance-level dependencies

Two words in the table need a definition. Lift and shift means moving an existing application and its database to the cloud as they are, with little or no change. An SLA (service level agreement) is Microsoft’s availability guarantee; Azure SQL Database has the highest of the three, at least 99.995% of the time. Figure 4.1 places the three options on a spectrum from control to managed service.

Three cards are set along a spectrum that runs from more control and compatibility on the left to less administrative work on the right. SQL Server on Azure VMs (IaaS, fully compatible, customer-managed, 99.99% SLA) is on the left, Azure SQL Managed Instance (PaaS, near-100% compatibility, fully automated, 99.99%) is in the middle, and Azure SQL Database (PaaS, single database or elastic pool, fully automated, 99.995%, the highest) is on the right.
Figure 4.1: The Azure SQL family, from most control to least administrative work

Common trap: Assuming the option with the most control also has the highest availability guarantee - Azure SQL Database has the highest SLA of the family (99.995%); SQL Server on Azure VMs and SQL Managed Instance are listed at 99.99%.

Get the whole book

This note is one section of Ultra Transcenders DP-900: Microsoft Azure Data Fundamentals, an independent study guide that explains every topic the exam covers by technology, with comparison tables, diagrams and the common traps, plus a glossary linked to Microsoft Learn.

Amazon.co.ukKindle: coming soonPaperback: coming soon
Amazon.comKindle: coming soonPaperback: coming soon

Publishing soon on Amazon in Kindle and paperback editions.

About the book · DP-900 terms in the glossary · All DP-900 study notes

More DP-900 study notes