Back to Blog
2 min read

Azure SQL Managed Instance: SQL Server in the Cloud

Azure SQL Managed Instance is the closest thing to running SQL Server on-premises, but fully managed in Azure.

Why Managed Instance?

  • 100% SQL Server compatibility
  • SQL Agent jobs
  • Cross-database queries
  • CLR support
  • Linked servers
  • Service Broker

Things you can’t do in Azure SQL Database but can in Managed Instance.

Migration Approach

# Using Azure Database Migration Service
az dms project task create \
    --resource-group migration-rg \
    --service-name dms-service \
    --project-name sql-migration \
    --name migrate-db \
    --source-connection-json @source.json \
    --target-connection-json @target.json \
    --database-options-json @dboptions.json

Key Features

VNet Integration

Managed Instance runs inside your VNet - no public endpoint by default:

resource "azurerm_sql_managed_instance" "mi" {
  name                         = "my-managed-instance"
  resource_group_name          = azurerm_resource_group.main.name
  location                     = azurerm_resource_group.main.location
  subnet_id                    = azurerm_subnet.mi.id
  administrator_login          = "miadmin"
  administrator_login_password = var.mi_password
  sku_name                     = "GP_Gen5_8"
}

Real-time replication from on-premises SQL Server to Managed Instance - useful for migration and hybrid scenarios.

Cost Optimization

  • Reserve capacity for significant savings (up to 55%)
  • Use Azure Hybrid Benefit if you have SQL licenses
  • Start with General Purpose, scale to Business Critical if needed

Managed Instance is the best choice for lift-and-shift SQL Server migrations where full compatibility matters.

Michael John Peña

Michael John Peña

Senior Data Engineer based in Sydney. Writing about data, cloud, and technology.