Home / Databases / SQL Server

DatabasesHow-toIntermediate

SQL Server cloud transformation strategy: choosing between Azure SQL, RDS, VMs and Babelfish

The starting point for a SQL Server move to the cloud. Covers the 6R options for each database, every Azure and AWS landing target compared side by side, a decision flow, and how to group an estate into migration waves.

Deepak Bhardwaj3 min read

Applies toSQL Server 2008–2022 on-premises; Azure SQL Database, Azure SQL Managed Instance, SQL Server on Azure VMs, Amazon RDS for SQL Server, RDS Custom, SQL Server on EC2, Aurora PostgreSQL with Babelfish

1. The 6Rs applied to SQL Server

R For SQL Server it means Typical share of an estate
Rehost Same SQL Server on a cloud VM (Azure VM / EC2) 30–50%
Replatform Managed SQL Server (Azure SQL MI, Azure SQL DB, RDS) 30–50%
Refactor Change engine (Aurora PostgreSQL / Babelfish, PostgreSQL) 5–15%
Retire Unused databases, old copies 10–20% (always more than expected)
Retain Stays on-premises (latency, regulation, end-of-life app) Some
Repurchase Replace the app with SaaS Some

2. Targets side by side

Target SQL Server compatibility You manage Notes
SQL Server on Azure VM / EC2 100% OS, SQL, patching, HA, backups (helped by the SQL IaaS extension on Azure) Fastest move; least modernisation
Azure SQL Managed Instance Very high (Agent, cross-DB queries, CLR, linked servers, Service Broker within the instance) Schema and queries The usual replatform target for apps that use instance features
Azure SQL Database Database-scoped only (no Agent, no cross-DB queries) Schema and queries Best for modern, single-database apps; serverless and Hyperscale options
Amazon RDS for SQL Server High, with restrictions (no sysadmin, limited OS-level features) Schema and queries Managed backups, Multi-AZ
RDS Custom for SQL Server Near 100% with OS and sysadmin access Some OS tasks; AWS automates the rest For apps needing OS access, custom agents or settings
Aurora PostgreSQL + Babelfish Partial T-SQL and TDS protocol support Code changes for unsupported features Removes SQL Server licences; requires testing

3. Decision flow

Does the app need OS access, unsupported features or a specific SQL version?  → VM / EC2 (or RDS Custom on AWS)
Uses SQL Agent, cross-database queries, CLR, linked servers, DB Mail?         → Azure SQL MI / RDS (check the feature list)
Single database, modern app, no instance features?                            → Azure SQL Database (or RDS)
Strong goal to drop SQL Server licences and code can change?                  → Babelfish / PostgreSQL (refactor)
Cloud choice already made by the business?                                    → Use that cloud's equivalent row

4. Waves

  1. Wave 0 (pilot): 3–5 low-risk databases, to prove networking, identity, backups and monitoring.
  2. Wave 1: dev and test copies, plus small Tier 3 apps.
  3. Waves 2–n: grouped by application, not by server, because apps that share databases or linked servers have to move together.
  4. Last waves: Tier 1 and complex databases, with rehearsed cutovers.

5. Success measures

  • Databases migrated per month, against plan.
  • Incidents and rollbacks per wave.
  • Performance against the on-premises baseline (p95 query time, batch duration).
  • Run cost against the business case, including licence savings.

Tip

Don't pick one target for the whole estate. The best programmes use a mix: managed instances for most apps, VMs for the awkward 20%, and refactoring only where there's a clear payback.

In this series: discovery and assessment, licensing, sizing, cutover and validation, then step-by-step guides for each Azure and AWS path.