Azure SQL offerings
There are three Azure SQL products with so many different deployment options, service tiers, and compute tiers that it can get quite confusing when choosing the right option for your workload. So, I thought I would write this blog to help out a bit.
Azure SQL is a cloud-based suite of database services designed to offer flexibility, scalability, and ease of management. It comprises three main products, each catering to different deployment needs and compatibility requirements. Within each of the products are various deployment options, service tiers, and compute tiers:

Below I expand on the options from the above diagram:
Azure SQL Products
1. SQL Server on a Virtual Machine (VM)
For organizations needing full control over their SQL Server environment, running SQL Server on an Azure VM is a great option. This Infrastructure-as-a-Service (IaaS) offering provides complete access to the operating system and database engine, enabling users to configure and manage SQL Server as they would on-premises. It is best suited for:
- Lift-and-shift migrations with minimal changes.
- Applications requiring full SQL Server features.
- Custom configurations and third-party integrations.
- See Provision SQL Server on Azure VM and VM size.
2. Azure SQL Database
Azure SQL Database is a fully managed, Platform-as-a-Service (PaaS) database solution that automates maintenance tasks like patching, backups, and scaling. It is ideal for modern cloud applications and is available in two deployment options:
Single Database
- A dedicated, isolated database with predictable performance.
- Best for applications that require resource guarantees at the database level.
- Supports service tiers: General Purpose, Business Critical, and Hyperscale.
- Can use the serverless compute tier (only in the General Purpose and Hyperscale tiers), allowing dynamic scaling of resources based on workload demand.
- See What is a single database in Azure SQL Database?
Elastic Pool
- Multiple databases share a set of resources, optimizing cost efficiency.
- Best for SaaS applications with variable workloads across multiple databases.
- Supports service tiers: General Purpose, Business Critical, and Hyperscale.
- Does not support the serverless compute tier.
- See Elastic pools help you manage and scale multiple databases in Azure SQL Database.
3. Azure SQL Managed Instance
Azure SQL Managed Instance is an instance-scoped deployment option that provides near 100% compatibility with SQL Server while delivering full PaaS benefits. This makes it ideal for organizations looking to modernize their database infrastructure with minimal friction. Key benefits include:
- Native support for SQL Server features like cross-database queries, linked servers, and SQL Agent.
- Built-in high availability, automated maintenance, and security.
- Supports service tiers: General Purpose and Business Critical.
- Does not support the serverless compute tier.
- See What is Azure SQL Managed Instance?
Service Tiers in Azure SQL
Azure SQL Database and Managed Instance offer three service tiers to cater to different workload needs:
1. General Purpose
- Balanced performance and cost-effective for most applications.
- Available in both Azure SQL Database (single and elastic pool) and Azure SQL Managed Instance.
- Supports the serverless compute tier (only for single database deployment).
- See vCore purchasing model – Azure SQL Database.
2. Business Critical
- Designed for applications requiring high transaction rates and low-latency I/O performance.
- Includes built-in high availability with multiple replicas.
- Available in Azure SQL Database (single and elastic pool) and Azure SQL Managed Instance.
- Does not support the serverless compute tier.
- See vCore purchasing model – Azure SQL Database.
3. Hyperscale
- Optimized for extremely large databases, supporting up to 128 TB.
- Provides rapid scaling of compute and storage independently.
- Available for Azure SQL Database (single database and elastic pool deployments).
- Supports the serverless compute tier for single database deployment.
- See Hyperscale service tier
Serverless Compute Tier
The serverless compute tier is a cost-effective option that allows automatic scaling of compute resources based on demand. It is available in the General Purpose and Hyperscale service tiers for Azure SQL Database (single database deployment).
Benefits of Serverless Compute Tier:
- Autoscaling of CPU and memory based on workload fluctuations.
- Automatic pausing of the database during inactivity, reducing costs.
- Best suited for intermittent, unpredictable workloads that do not require continuous availability.
- See Serverless compute tier for Azure SQL Database.
Choosing the right Azure SQL option
When selecting an Azure SQL offering, consider factors like workload requirements, compatibility, cost, and management overhead. Below is a quick reference guide:
Feature | SQL Server on VM | Azure SQL Database (Single) | Azure SQL Database (Elastic Pool) | Azure SQL Managed Instance |
---|---|---|---|---|
Fully Managed (PaaS) | No | Yes | Yes | Yes |
Full SQL Server Compatibility | Yes | Partial | Partial | Nearly Full |
Best for Lift-and-Shift | Yes | No | No | Yes |
Best for SaaS Apps | No | No | Yes | No |
Best for Modernization | No | Yes | Yes | Yes |
Supports General Purpose | N/A | Yes | Yes | Yes |
Supports Business Critical | N/A | Yes | Yes | Yes |
Supports Hyperscale | N/A | Yes | Yes | No |
Supports Serverless Compute | N/A | Yes (General Purpose, Hyperscale) | No | No |
Conclusion
Azure SQL offers a diverse set of solutions to accommodate different business and technical requirements. Whether you need full control with SQL Server on a VM, a fully managed single database, a cost-effective elastic pool, or near full SQL Server compatibility with Managed Instance, Azure SQL provides the flexibility to optimize cost, performance, and scalability. Understanding these options and service tiers will help you make an informed decision tailored to your specific workload needs.
This diagram may help with choosing the right option for your use case:

Nice but DTU plan is missing completely.
I just moved a dozen of databases from vCores to DTU this morning to reduce the costs. DTU are still relevant.
I was smart enough to take a screenshot a few years ago that could resume the migration effort: https://www.jeeja.biz/2021/07/08/how-to-discover-sql-server-instances-on-azure-vms/
In my opinion Managed Instances are dead. SQL server on Azure VMs is for Lift & Shift and your wallet catches fire. Azure SQL Database is the only way to go but is not easy.
Missing in action:
– Managed Instance: was a thing, it resulted in being too expensive
– Serverless: born to reduce costs.. no one use it as it’s too expensive
– Hyperscale: too niche to become something
– Azure SQL Edge: who the hack is Azure SQL Edge?
And let’s not forget to mention the recently released (to public preview) Fabric SQL capability, our “SaaS” (Software as a Service) transactional SQL offering for operational workloads. Under the covers it uses Azure SQL DB engine and the Hyperscale architecture. Data in your SQL database is automatically replicated into the OneLake in Parquet-Delta, an analytics-ready format. No ETL needed! Billing is via Fabric Capacity CUs. See https://learn.microsoft.com/en-us/fabric/database/sql/overview for more details.
Pingback:Azure SQL offerings – SQLServerCentral - KubPoint