Migration software
SqlPackage
Suggested in one of our migration playbooks, mainly for Databases. Here is what it handles, how it treats key settings, and other tools for the same jobs.
What it handles
The limits of the built-in tools that SqlPackage gets around, as covered in our playbooks.
SQL Server to Azure SQL migration
- Know what DMS does not copy to Azure SQL DatabaseExport and import a BACPAC. Offline only: stop writes during export for a consistent copy, and use local storage for BACPACs over 200 GB.
- Azure DMS to Azure SQL Database skips computed columns and empty tables, turns NULLs in columns with defaults into the default, and does not support double-byte table names.A BACPAC creates the whole schema from the source definition. Offline only; use local storage for BACPACs over 200 GB.
How it handles key settings
From the settings checklists in our playbooks: what SqlPackage carries across.
| Setting | How it handles it | Playbook |
|---|---|---|
| Target service for each database | Exports a database to a BACPAC file (a single-file copy of the schema and data) and imports it into Azure SQL Database. Offline only. | SQL Server to Azure SQL migration |
| Downtime: online or offline copy | Offline: changes made after the export are not in the BACPAC. | SQL Server to Azure SQL migration |
| Data that a copy can change or skip | A BACPAC creates the whole schema from the source definition. Use local storage for BACPAC files over 200 GB. | SQL Server to Azure SQL migration |
Tools for the same jobs
Other tools our playbooks suggest for the same migrations.
We write these notes from the vendor documentation cited in each playbook. Tools cannot pay to be included or to change them. Check the vendor's current documentation and terms before you buy.