We are migrating existing on Premise SQL Server database to AWS Aurora database in the cloud.We just built the target Aurora DB in the RDS instance. It has no tables, completely empty.In the schema conversion tools I have connected source SQL server database and Target AWS Aurora DB. At this point if I do the migration from SQL Server to empty Aurora DB. The SCT and DMS should migrate my whole SQL server database to AWS Aurora, right? Or do I have to create the tables in the Target AWS database berore running SCT and DMS.
1 Answers
DMS will create the tables for you, but some details will not be copied over. From the docs:
AWS DMS supports basic schema migration, including the creation of tables and primary keys. However, AWS DMS doesn't automatically create secondary indexes, foreign keys, user accounts, and so on in the target database.
If you use SCT, these can be migrated.
AWS DMS doesn't migrate your secondary indexes, sequences, default values, stored procedures, triggers, synonyms, views, and other schema objects that aren't specifically related to data migration. To migrate these objects to your Aurora MySQL target, use AWS SCT.
The step-by-step guide to migrating from SQL Server to Amazon Aurora might be helpful. With SCT, you can choose if you want the tables to be created by setting the Preparation mode.
Do nothing - AWS DMS does nothing to prepare your tables. Your table structure remains the same, and any existing data remains in the table. You can use this method to consolidate data from multiple systems.
Drop tables on target - AWS DMS creates your target tables for you. AWS DMS drops and re-creates the tables to migrate before migration. AWS DMS creates the table and a primary key only for heterogeneous migrations.
Truncate - AWS DMS truncates a target table before loading it. If the target table doesn’t exist, then AWS DMS creates it.