Last updated: May 2026
Azure DatabasesIntermediateAZ-104⏱ 12 min read

Azure SQL Managed Instance

Azure SQL Managed Instance is a fully managed SQL Server database engine that provides near-100% compatibility with the latest SQL Server on-premises edition. It bridges the gap between SQL Database (cloud-optimised, limited features) and SQL Server on a VM (full features, full management burden). It's Microsoft's recommended target for lift-and-shift migrations of complex SQL Server applications.

What you'll learn SQL MI vs SQL Database key differences · Features exclusive to Managed Instance · VNet deployment requirement · Migration scenarios · Service tiers and vCores · Business continuity features · SQL MI vs SQL on VM

SQL MI vs SQL Database

FeatureSQL DatabaseSQL Managed Instance
SQL Server Agent❌ No✅ Yes
Linked Servers❌ No✅ Yes
CLR IntegrationLimited✅ Yes
Database Mail❌ No✅ Yes
Cross-database queries❌ No✅ Yes
Service Broker❌ No✅ Yes
VNet deploymentOptional (Private Endpoint)Required — always in VNet
Max database size4 TB (GP), 4 TB (BC)Up to 16 TB (GP), 4 TB (BC)
Instance-level featuresNo — database onlyYes — instance-level access

Features Exclusive to SQL MI

  • SQL Server Agent — Schedule and automate SQL jobs (ETL, maintenance, alerts)
  • Linked Servers — Query remote databases from SQL Server
  • CLR Integration — Run .NET code inside SQL Server
  • Database Mail — Send emails from SQL Server
  • Cross-database queries — Query across multiple databases on the same instance
  • Service Broker — Asynchronous messaging between databases
  • Distributed transactions — MSDTC support
  • Native backup/restore — Restore .bak files from Azure Blob Storage
💡
Migration Decision Rule If your on-premises SQL Server app uses SQL Agent, linked servers, CLR, or cross-database queries → use SQL Managed Instance. If it's a simple database without these features → SQL Database is sufficient and cheaper.

VNet Deployment

Unlike SQL Database (which has a public endpoint by default), SQL Managed Instance is always deployed inside a VNet — it has no public endpoint. This is both a security feature and a requirement. The MI is deployed into a dedicated subnet within your VNet.

⚠️
Dedicated Subnet Required SQL Managed Instance requires its own dedicated subnet — no other resources can be in that subnet. The subnet must be large enough for the number of instances and must have service delegation configured for Microsoft.Sql/managedInstances.

Service Tiers

TierStorageIOPSBest For
General PurposeUp to 16 TBUp to 7,500Most production workloads
Business CriticalUp to 4 TBUp to 120,000High IOPS, built-in read replica, in-memory OLTP

Migration to SQL MI

Azure Database Migration Service (DMS) supports online migration (minimal downtime) to SQL MI:

  1. Assess source SQL Server compatibility with Azure Database Migration Service
  2. Configure DMS with source (on-premises) and target (SQL MI) connections
  3. Run initial full migration (while source is running)
  4. Apply ongoing log backups to keep MI in sync
  5. Cutover — stop new writes on source, final sync, switch connection strings

Native backup/restore is also supported — backup databases to Azure Blob Storage and restore directly to SQL MI.

Business Continuity

  • Automated backups — Full/differential/log backups with PITR (1–35 days)
  • Auto-failover groups — Geo-replication with automatic failover to secondary region
  • Business Critical tier — Built-in Always On availability group with one readable secondary (no extra cost)
  • Zone redundancy — Deploy across Availability Zones for 99.99% SLA

SQL MI vs SQL on VM

FactorSQL Managed InstanceSQL Server on VM
ManagementMicrosoft manages OS, SQL patches, HAYou manage OS, patches, HA
Feature compatibilityNear-full SQL ServerFull SQL Server — every version/feature
Specific SQL versionNo — Microsoft controls versionYes — run SQL 2012, 2016, etc.
Legacy/unsupported featuresSome not supportedAll supported
Choose whenWant managed service, near-full compatibilityNeed specific version or unsupported feature
💡
AZ-104 Exam Tip Know that SQL MI is always deployed in a VNet (no public endpoint). Know it supports SQL Agent, linked servers, CLR, cross-database queries. Know that Auto-Failover Groups enable automatic geo-failover. Know that the Business Critical tier includes a free built-in readable secondary.
📝 Practice Questions
Click an option to check your answer.
Q1. An on-premises SQL Server application uses SQL Server Agent for scheduled jobs and CLR integration. Which Azure service provides the best migration target?
A — Azure SQL Database
B — Azure SQL Managed Instance
C — Azure Cosmos DB
D — Azure Database for MySQL
Q2. Does Azure SQL Managed Instance have a public internet endpoint by default?
A — Yes — it has a public endpoint accessible from the internet
B — No — it is always deployed inside a VNet with no public endpoint by default
C — Public endpoints are completely blocked on SQL MI
D — Only Business Critical tier has a public endpoint
Q3. What advantage does the Business Critical tier of SQL Managed Instance provide over General Purpose?
A — Larger maximum storage capacity
B — Built-in readable secondary replica at no extra cost, plus much higher IOPS
C — Automated backups are only available on Business Critical
D — Zone redundancy is only available on Business Critical
Q4. Can you run cross-database queries (querying multiple databases on the same instance) in Azure SQL Managed Instance?
A — Yes — cross-database queries are fully supported
B — No — cross-database queries are not supported
C — Only within elastic pools
D — Only on Business Critical tier
Q5. When should you choose SQL Server on a VM instead of SQL Managed Instance?
A — When you need SQL Agent and linked servers
B — When you need a specific SQL Server version or a feature not yet supported in SQL MI
C — When you want to avoid VNet deployment requirements
D — When you need to reduce costs compared to SQL Database
Comments
Disclaimer: RedKite Cloud is an independent educational resource and is not affiliated with Microsoft Corporation.