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.

Platform toolBy Microsoft1 playbook2 limits handled

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.

SettingHow it handles itPlaybook
Target service for each databaseExports 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 copyOffline: changes made after the export are not in the BACPAC.SQL Server to Azure SQL migration
Data that a copy can change or skipA 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.