Understanding Azure SQL Deployment Options: The Difference Between SQL VM and SQL Database

When migrating databases to the cloud, requirements can differ between organizations and often between applications as well. One deployment option does not fit all. With Azure, you have two choices: SQL virtual machines or a fully managed SQL database service. Understanding the differences between the two is the first step to choosing the right deployment option for your workload. If you would like to learn more, download Microsoft's e-book "Future-Proof Your Data Infrastructure with Azure: A Business Case for Database Administrators."

SQL Server on Azure Virtual Machines

Azure Virtual Machines logo

SQL Server on Azure virtual machines allows you to benefit from a full version of SQL Server in the cloud while eliminating the need to manage any on-premises hardware. Azure offers pre-configured SQL Server VM images for Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu Linux, and Windows Server.

Azure virtual machines run in many different geographic regions and come in a variety of machine sizes. You can easily create a SQL Server VM from the virtual machine image gallery, which allows you to choose the right version, edition, and operating system to fit your organization's needs.

In cases where I require full control of my operating system or have other applications that might need to be installed, I reach for an Azure virtual machine. The SQL Server images have SQL Server pre-installed, which saves me time and allows me to get to the work I enjoy most even faster.

Azure SQL Database

Azure SQL DB logo

Azure SQL Database is a general-purpose relational database provided as both a fully managed database (Azure SQL Database) and an instance-scoped version (Azure SQL Database managed instance). Azure SQL Database allows you to create a highly available and high-performance data storage layer for your Azure-based applications and solutions.

Azure SQL Database is based on the latest version of the Microsoft SQL Server database engine, and is continuously updated in the background without any impact on workloads. It delivers predictable performance with multiple resource types, service tiers, and compute sizes. Its scalability, availability, built-in intelligent optimization, and advanced security allow you to focus on rapid development of your applications rather than managing virtual machines.

If you’re an existing SQL Server customer, Azure SQL Database is likely your best option, and is typically my first choice for cloud migrations. When deployed as a fully managed relational cloud database, Azure SQL Database is almost 100 percent compatible with the latest SQL Server on-premises (Enterprise Edition) Database Engine. It also provides a native virtual network implementation, which helps address common security concerns. That means you can lift and shift your on-premises applications to the cloud with minimal changes to your application and database.

Azure SQL Database provides a business model favorable for on-premises SQL Server customers. It also preserves all platform-as-a-service capabilities, such as automatic patching and version updates, automated backups, and high availability. These capabilities help reduce management overhead and total cost of ownership.

To learn more about moving your databases to the cloud, download "Future-Proof Your Data Infrastructure with Azure: A Business Case for Database Administrators."