Migration software

AWS Database Migration Service

Suggested in 2 of our migration playbooks, mainly for Servers and cloud and Databases. Here is what it handles, how it treats key settings, and other tools for the same jobs.

Platform toolBy AWS2 playbooks6 limits handled

What does AWS Database Migration Service handle?

The limits of the built-in tools that AWS Database Migration Service gets around, as covered in our playbooks.

Cloud-to-cloud migration

  • Managed services do not move with the serversSupports Azure SQL Database, Azure Database for PostgreSQL and MySQL flexible server, and Google Cloud SQL for MySQL and PostgreSQL as sources.
  • Queues, serverless functions, managed databases, load balancers and identity do not move with the servers.Copies Azure SQL Database, Azure Database for PostgreSQL and MySQL, and Google Cloud SQL databases into AWS.

SQL Server and MySQL to Amazon RDS or Aurora

  • Plan rollback without native log backupsSupports CDC from Amazon RDS for SQL Server with MS-CDC or MS-REPLICATION enabled and the Full or Bulk logged recovery model. Use DMS 3.5.3 or later so changes are also read from log backups.
  • Plan rollback without native log backupsAWS lists on-premises SQL Server (Enterprise, Standard, Workgroup and Developer) as a supported target. Start the reverse task at cutover, before the first application write.
  • RDS for SQL Server cannot make native log backups, so you cannot ship changes back to the old server after writes start.Replicates ongoing changes from RDS for SQL Server with MS-CDC or MS-REPLICATION on. Use DMS 3.5.3 or later.
  • RDS for SQL Server cannot make native log backups, so you cannot ship changes back to the old server after writes start.Writes to on-premises SQL Server. Start the reverse task at cutover, before the first application write.

How does AWS Database Migration Service handle key settings?

From the settings checklists in our playbooks: what AWS Database Migration Service carries across.

SettingHow it handles itPlaybook
Managed databasesFull load plus ongoing changes into AWS. Creates tables, primary keys and sometimes unique indexes, but not secondary indexes, other constraints, defaults or user accounts.Cloud-to-cloud migration
Large objects in databasesLimited LOB mode truncates any LOB larger than the size you set. Full LOB mode copies them whole, more slowly. Inline LOB mode works only during the full load.Cloud-to-cloud migration
Engine version and editionCopies between different versions and engines, with DMS Schema Conversion for engine changes.SQL Server and MySQL to Amazon RDS or Aurora
Logins, users and grantsDoes not create user accounts on the target.SQL Server and MySQL to Amazon RDS or Aurora
Stored procedures, functions, triggers and jobsCreate triggers after the migration and before application cutover. Whether it copies stored procedures: not stated in AWS's guidance: test it in your pilot.SQL Server and MySQL to Amazon RDS or Aurora
Indexes, keys and defaultsCreates tables, primary keys and sometimes unique indexes, but not secondary indexes, other constraints or data defaults. With ongoing replication, add secondary indexes after the full load and foreign keys after cached changes are applied.SQL Server and MySQL to Amazon RDS or Aurora
Large text and binary columns (LOBs)Limited LOB mode truncates any LOB larger than the size you set. Full LOB mode copies them whole, more slowly. Inline LOB mode works only during the full load.SQL Server and MySQL to Amazon RDS or Aurora
Database and file sizeNot stated in AWS's DMS documentation: test it in your pilot.SQL Server and MySQL to Amazon RDS or Aurora
Features the method cannot carryDoes not support some SQL Server features, such as sparse columns, columnstore indexes, memory-optimised and temporal tables. Run the premigration assessment to find them.SQL Server and MySQL to Amazon RDS or Aurora
EncryptionNot stated in AWS's DMS documentation: test it in your pilot.SQL Server and MySQL to Amazon RDS or Aurora
Time zone and server settingsNot stated in AWS's DMS documentation: test it in your pilot.SQL Server and MySQL to Amazon RDS or Aurora
Catch-up copies before cutoverFull load plus ongoing replication. SQL Server sources need MS-CDC or MS-REPLICATION; MySQL sources need binlog_format=ROW.SQL Server and MySQL to Amazon RDS or Aurora
Rollback after cutoverReplicates ongoing changes from RDS for SQL Server with MS-CDC or MS-REPLICATION on. Use DMS 3.5.3 or later.SQL Server and MySQL to Amazon RDS or Aurora
Rollback after cutoverWrites to on-premises SQL Server. Start the reverse task at cutover, before the first application write.SQL Server and MySQL to Amazon RDS or Aurora
How many at onceTasks share the replication instance you size, so watch its CPU and memory in CloudWatch.SQL Server and MySQL to Amazon RDS or Aurora

Which tools do the same jobs as AWS Database Migration Service?

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.