Choosing a SQL Platform
SQL Database · SQL Managed Instance · SQL Server on Azure VMs
Practice questions for this topic →
Decision table
| Option | Model | Pick when… |
|---|---|---|
| Azure SQL Database (single / elastic pool; Hyperscale; serverless) | PaaS, database-scoped; always the latest stable engine | New cloud apps and SaaS; least administration; no instance-level features needed |
| Azure SQL Managed Instance | PaaS, instance-scoped, native VNet; near-100% SQL Server feature parity | Most migrations: SQL Agent, cross-database queries, CLR, Database Mail, Service Broker, linked servers |
| SQL Managed Instance instance pools | Several instances share a pool | Many small SQL Server instances; 2-vCore instances exist only in pools; deployment up to about 10 minutes |
| SQL Server on Azure VMs | IaaS; 100% SQL Server compatibility | OS-level access, SSRS on the same server, features or versions PaaS lacks |
SQL Database lacks SQL Agent, cross-database queries, CLR and Database Mail. Those features point to Managed Instance.
Facts to know
- Managed Instance is a PaaS database engine that handles patching, backups and monitoring for you, with a native VNet implementation. Migrate with the SQL Server migration experience in Azure Arc or the Managed Instance link. Existing licenses (with Software Assurance) get Azure Hybrid Benefit; a secondary used only for DR can use the license-free DR benefit.
- SQL Server on Azure VMs: register with the free SQL IaaS Agent extension for portal management, automated backup, automatic patching, Key Vault integration, tempdb configuration and Defender for Cloud integration. HA and DR are your design (availability groups, failover cluster instances, log shipping, backup, ASR); the platform's VM self-healing doesn't protect SQL Server itself.
- Feature comparison highlights: Always Encrypted is supported in both PaaS options; Attach a database isn't supported in either; the BACKUP command isn't available in SQL Database (system backups only) but Managed Instance allows user-initiated copy-only backups to Blob storage; Managed Instance geo-DR uses failover groups between two instances, and SQL Server instances or SQL Database can't be secondaries for it.
- Next-gen General Purpose (Managed Instance): Elastic SAN storage, up to 500 databases and 32 TB, independent IOPS and memory scaling, same base cost as General Purpose.
Exam Tips
Tick each tip once you can answer it without looking.
“Migrate SQL Server with SQL Agent jobs and cross-database queries, minimal changes, PaaS” → Azure SQL Managed Instance. Trap: Azure SQL Database doesn't support SQL Agent or cross-database queries.
“New cloud-native app, minimal administration, single database” → Azure SQL Database.
“App needs OS-level access or SQL Server Reporting Services on the same server” → SQL Server on Azure VM.
“Migrate 20 small SQL Server instances cost-effectively to PaaS” → SQL Managed Instance instance pools.
“Managed Instance needs more databases/storage/IOPS at GP price” → Next-gen General Purpose (up to 500 DBs, 32 TB).
“Must use CLR assemblies or Service Broker in PaaS” → SQL Managed Instance.
“Reuse existing SQL Server licenses to cut cost” → Azure Hybrid Benefit (vCore model, MI or VM). Trap: Not available with DTU or serverless.
“Managed Instance migration and licensing” → Azure Arc migration experience or the Managed Instance link; Azure Hybrid Benefit; license-free DR benefit for a DR-only secondary. Trap: Near-100% SQL Server feature parity.
“SQL Server on Azure VMs management extras” → The free SQL IaaS Agent extension adds portal management, automated backup, automatic patching, Key Vault integration, tempdb configuration. Trap: HA and DR are your own design.
“Managed Instance geo-DR partner” → A failover group between two managed instances. Trap: SQL Server and SQL Database can't be secondaries for a Managed Instance.
“Backup command and attach support” → SQL Database: system backups only. Managed Instance: copy-only backups to Blob. Attach a database: neither. Trap: Always Encrypted is supported in both.