Search
Join the Technical Preview Program
See how NVMe-oF removes iSCSI
bottlenecks in your HCI
The Best Hyperconverged
Infrastructure
(HCI) for Enterprise
ROBO, SMB & Edge
The Best Virtual SAN
for Enterprise ROBO, SMB & Edge

Where Is It Smarter to Keep Databases? Azure SQL vs. SQL Server in a VM

  • April 19, 2024
  • 8 min read
StarWind Storage and Virtualization Engineer. Volodymyr specializes in solution architecture and data protection. With a technical background in applied physics, he provides unique analytical leadership in building resilient IT infrastructure. Volodymyr delivers expert guidance on optimizing virtualized environments, disaster recovery, and enterprise-scale storage systems.
StarWind Storage and Virtualization Engineer. Volodymyr specializes in solution architecture and data protection. With a technical background in applied physics, he provides unique analytical leadership in building resilient IT infrastructure. Volodymyr delivers expert guidance on optimizing virtualized environments, disaster recovery, and enterprise-scale storage systems.

In Azure, SQL Server can be deployed in multiple forms: Azure SQL Database (PaaS), SQL Server on Azure Virtual Machines (IaaS), and Azure SQL Managed Instance. Each method provides a different balance between control, compatibility, scalability, and maintenance effort.

Azure SQL Database

Azure SQL Database is a single-database PaaS model. It abstracts all underlying infrastructure — OS, patching, backups, and high availability — handled entirely by Microsoft. You interact with the database through familiar tools like SSMS, Azure Data Studio, or Visual Studio, using standard T-SQL.

It’s built for simplicity. Deployments take minutes via Azure Portal or automation scripts. Backups (full, differential, transaction log) are automatic and stored in geo-redundant storage. Disaster recovery setup through active geo-replication is straightforward. Performance monitoring and tuning features are available via Azure tools.

However, limitations exist. Azure SQL Database is not a full SQL Server instance. You can’t run SQL Server Agent jobs, use cross-database joins (outside elastic pools), or configure server-level features. Features like Service Broker, CLR integration, and linked servers are not supported.

Pricing: Entry-level starts around $5/month for basic tier, with predictable scaling via vCore or DTU models. Serverless and hyperscale options offer elastic compute and storage.

Use when: Applications require a standalone, low-maintenance database and don’t rely on instance-level features. Ideal for microservices, SaaS platforms, dev/test environments, and cost-sensitive projects.

SQL Server on Azure VM

SQL Server on an Azure VM is equivalent to on-prem deployment. You choose OS (Windows or Linux), SQL version (2017–2022), and manage the stack — patching, backups, availability, and monitoring.

You can configure clustering, Availability Groups, SQL Server Agent, extended stored procedures, and complex replication topologies. VMs support storage customization (Premium SSD, Ultra Disk) and scale-up/down based on need. This gives full control, but at the cost of higher operational effort.

Advantages:

  • Full SQL Server compatibility
  • Instance-level control
  • Supports legacy apps and third-party integrations

Trade-offs:

  • Higher cost due to VM compute + SQL licensing
  • Requires manual configuration for HA, DR, monitoring, and patching

Pricing: A small SQL Standard VM (license-included) can exceed $350/month. Costs rise with VM size, SQL edition, and uptime. Azure Hybrid Benefit can reduce expenses by reusing existing licenses.

Use when: Applications demand complete feature set or OS-level customization. Suitable for legacy systems, exact replication of on-prem setups, or environments with strict performance or compliance constraints.

Azure SQL Managed Instance

Managed Instance is a PaaS offering that closely mirrors full SQL Server instance functionality. It provides a dedicated environment within your VNet, supports most SQL features, and requires no OS-level management.

It supports SQL Agent, cross-database transactions, native RESTORE from backups, Service Broker, CLR, linked servers, and more. Microsoft handles HA, patching, backups, and maintenance. Migration tools enable lift-and-shift from on-prem environments with minimal changes.

Managed Instance is updated regularly and stays compatible with recent SQL Server versions. It’s ideal when Azure SQL Database is too restrictive, but VM-level maintenance isn’t desired.

Pricing: Starts at ~$730/month for 4 vCores. Scales with compute and storage. Azure Hybrid Benefit applies.

Use when: You need near-complete SQL Server functionality without VM management. Fits well for enterprise migrations, multi-database applications, and scenarios requiring higher compatibility than Azure SQL DB allows.

Feature Comparison

Feature Azure SQL DB SQL on VM SQL Managed Instance
SQL Server Agent No Yes Yes
OS-level Access No Yes No
Cross-Database Queries Limited Yes Yes
HA/Backups Managed by Azure Yes No Yes
Full SQL Feature Support No Yes Mostly (90%+)
Price (Entry Point) ~$5/month ~$350+/month ~$730/month
Best For New apps Legacy/custom Lift-and-shift

Summary

  • Azure SQL Database is best for cloud-native applications, developers, or businesses seeking low-maintenance and cost-effective SQL with basic features.
  • SQL Server on VM offers full control and compatibility at the cost of higher complexity and expense. It’s preferred when features or integrations can’t be compromised.
  • Azure SQL Managed Instance provides near-parity with full SQL Server but eliminates infrastructure management. It’s ideal for enterprise migrations and complex apps.

Nowadays, most new lightweight projects lean toward managed options. If your workload fits within Azure SQL DB limits, it’s the easiest and cheapest to operate. Managed Instance suits workloads that demand more power and compatibility. SQL on VM remains the fallback for edge cases needing total control.

Choosing the right model depends on the application’s technical needs, available expertise, and long-term maintenance expectations.

Found Volodymyr’s article helpful? Looking for a reliable, high-performance, and cost-effective shared storage solution for your production cluster?
Dmytro Malynka
Dmytro Malynka StarWind Virtual SAN Product Manager
We’ve got you covered! StarWind Virtual SAN (VSAN) is specifically designed to provide highly-available shared storage for Hyper-V, vSphere, and KVM clusters. With StarWind VSAN, simplicity is key: utilize the local disks of your hypervisor hosts and create shared HA storage for your VMs. Interested in learning more? Book a short StarWind VSAN demo now and see it in action!