Data Migration from On-Premise to Azure Cloud: A 5-Step Guide

Data migration from on-premise to Azure cloud follows five steps: inventory and classify the data, choose a target (Azure SQL, Blob Storage, Azure Files and so on), pick a transfer method, migrate in tested waves, and validate before cutover. Azure Migrate handles discovery and assessment; Database Migration Service, online copy tools or Azure Data Box move the data.
Key takeaways
- Start with an inventory and classification: what data you have, how large it is, how often it changes and which rules (GDPR, retention, residency) apply.
- Match each data set to an Azure target and a method. Databases, file shares and archives need different tools.
- Bandwidth decides the transfer method. When the network cannot move the initial copy in time, ship it offline with Azure Data Box and sync the changes online.
- Check your toolchain is current. Microsoft retired the Data Migration Assistant on 16 July 2025, and the 80 TB Data Box is being replaced by 120 TB and 525 TB devices.
- Prove integrity with row counts, checksums and application tests, and keep a rollback path until sign-off.
Step 1: Inventory and classify your data
You cannot plan a migration you have not measured. List every data source and record the facts that drive the method.
- Databases: engine and version (SQL Server, Oracle, MySQL, PostgreSQL), size, transaction rate, dependencies and maintenance windows.
- File data: shares, NAS volumes and home directories, with total size, file count and change rate.
- Archives and backups: cold data that may go straight to a low-cost tier.
- Classification: personal data, confidential data, retention rules and any requirement to keep data in a given region, such as Sweden Central or another EU region.
- Quality: duplicates, orphaned records and schema issues. Fix them before you move them, not after.
Azure Migrate discovers servers, databases and web apps, assesses Azure readiness and estimates the cost of running them in Azure. Use its output as the baseline for sizing and the business case.
Step 2: Choose the Azure target for each data set
The target depends on how much you want to change. Moving a SQL Server database to a VM is fastest; moving it to a managed service removes patching and backup work.
| Source | Common Azure targets | Trade-off |
|---|---|---|
| SQL Server | SQL Server on Azure VMs, Azure SQL Managed Instance, Azure SQL Database | VMs keep full control; Managed Instance offers high compatibility with less admin; SQL Database is the most managed but may need code changes |
| MySQL, PostgreSQL | Azure Database for MySQL or PostgreSQL (Flexible Server) | Managed service; check extensions and versions |
| Oracle | Oracle on Azure VMs, or conversion to Azure SQL or PostgreSQL | Licensing and conversion effort decide the route |
| File shares and NAS | Azure Files, Azure NetApp Files, Azure Blob Storage | Azure Files keeps SMB/NFS semantics; Blob suits large unstructured data |
| Archives and backups | Blob Storage cool, cold or archive tiers | Very low storage cost, slower and costlier retrieval |
For SQL Server, Microsoft's SQL Server to Azure SQL migration overview compares the options. For the wider choice between rehosting, replatforming and refactoring whole applications, see our Azure cloud migration strategy guide.
Step 3: Pick the transfer method
Bandwidth, data size and how much downtime you can accept decide the method. Work out how long the initial copy takes over your actual uplink before choosing.
| Method | Best for | Watch out for |
|---|---|---|
| Azure Database Migration Service (online) | Databases that must stay available until a short cutover | Supported source and target pairs, network throughput, log growth |
| Native backup and restore, log shipping, replication | SQL Server to VMs or Managed Instance | Version compatibility, restore time |
| AzCopy or Azure Storage Mover | File shares and blobs over the network | Bandwidth and change rate; plan a final delta sync |
| Azure Data Box (offline) | Large initial copies when the network is too slow | Shipping time, device availability per region |
| Azure Data Factory | Repeatable, transformed data flows and ongoing integration | Pipeline design and monitoring effort |
Azure Data Box is a physical device Microsoft ships to your data centre. According to the Data Box documentation, current devices have a maximum usable capacity of 120 TB or 525 TB. Data Box Heavy has been retired, and the 80 TB device is being retired region by region as the new devices roll out. A common pattern is to seed the bulk of the data with Data Box, then sync the changes online before cutover.
Is your migration toolchain up to date?
Many guides still describe tools Microsoft has retired or renamed. Check these before you write the plan.
- Data Migration Assistant (DMA): retired from 16 July 2025. Use the assessment features in Azure Migrate and the current Azure SQL migration guidance instead.
- Azure Active Directory: now Microsoft Entra ID. Plan identity for migrated data in Entra, including groups and role assignments for storage and databases.
- Azure Data Box 80 TB and Data Box Heavy: replaced by 120 TB and 525 TB devices, as above.
- Azure Database Migration Service: check which source and target combinations the current version supports for your engine before you commit to it.
Step 4: Migrate in tested waves
Move data in waves ordered by dependency and risk, and rehearse every wave before the real run.
- Back up and test restores for every system in the wave. A backup you have not restored is a hope, not a plan.
- Run a pilot on a representative but low-risk data set. Measure throughput and fix issues.
- Seed the bulk copy online or with Data Box, while the source stays live.
- Sync changes continuously, through database replication or repeated delta copies for files.
- Freeze and cut over in an agreed window: stop writes, run the final sync, switch connection strings and DNS.
- Keep the source read-only until validation and business sign-off, so you can roll back.
Run order usually follows dependencies: shared reference data first, then databases, then the applications and integrations that use them.
Step 5: Validate before you switch off the source
Validation proves that the data arrived complete and that applications behave as before.
- Completeness: row counts per table, file counts and total sizes.
- Integrity: checksums or hash comparisons on samples or full data sets.
- Function: application smoke tests, reports and integrations run by business users.
- Performance: query times and throughput against a baseline taken before migration.
- Security: access rights, encryption and logging confirmed in the new environment.
Set go/no-go criteria in advance and get sign-off from data owners. Decommission the source only after the agreed retention period.
Security and compliance during the move
Treat the migration window as a period of higher risk, because data is copied, staged and moved.
- Use private connectivity (VPN or ExpressRoute) or private endpoints rather than public endpoints for transfers.
- Encrypt data in transit and at rest; Data Box devices encrypt data on the device.
- Control access with Microsoft Entra ID roles and least privilege. Store keys and secrets in Azure Key Vault.
- Apply Azure Policy for region, encryption and tagging rules from day one, so non-compliant resources are blocked or flagged.
- Record where personal data is stored and processed, and update your GDPR records of processing.
The Cloud Adoption Framework migration guidance describes how to prepare landing zones and governance before data arrives.
After the migration: cost and performance
- Right-size databases and storage based on measured use, not on-premise allocations.
- Tier storage: move rarely used data to cool, cold or archive tiers with lifecycle rules.
- Commit where stable: reservations or savings plans for steady workloads; Azure Hybrid Benefit if you have eligible SQL Server or Windows Server licences.
- Monitor: Azure Monitor alerts for latency, errors, capacity and backup status.
How Opsio helps
Opsio plans and runs data migrations to Azure: discovery and assessment with Azure Migrate, target design, transfer method, wave planning, cutover and validation. Our Azure migration services cover the full project, and our database migration service handles SQL Server, Oracle, MySQL and PostgreSQL moves. After cutover, Azure managed services take over monitoring, backup and cost control.
Frequently asked questions
How do I migrate data from on-premise to Azure?
Inventory and classify the data, choose an Azure target for each data set, pick a transfer method based on size and bandwidth, migrate in tested waves with a final sync and cutover, then validate completeness, integrity and performance before switching off the source.
Which tool should I use to migrate SQL Server databases to Azure?
Use Azure Migrate for discovery and assessment. For the move, use Azure Database Migration Service for supported online migrations, or native backup and restore, log shipping or replication for SQL Server on VMs and Managed Instance. Data Migration Assistant was retired in July 2025.
When should I use Azure Data Box instead of an online transfer?
When the initial copy would take too long over your network or would saturate the link for production traffic. Data Box ships a device with 120 TB or 525 TB usable capacity; you copy the data locally, ship it back and Microsoft uploads it to your storage account.
How long does a data migration to Azure take?
It depends on data volume, bandwidth, change rate, the number of systems and how much testing you need. Calculate the transfer time over your real uplink, add rehearsal and validation time per wave, and plan cutover windows with the business.
Can a provider move our on-premise workloads into Azure securely?
Yes, if the plan includes private connectivity, encryption in transit and at rest, least-privilege access through Microsoft Entra ID, policy guardrails and logging. Ask the provider to show how each is configured and who holds administrative access during and after the project.
Related Articles
About the Author

Editorial standards: This article was written by a certified practitioner, named in the byline above. We revise it when the technology or regulation it covers changes; the dates above show the latest update. Opsio maintains editorial independence — we recommend solutions on technical merit, not commercial relationships.