I have created two database instances of RDS on Amazon Web Services (AWS).
- SQL Server on RDS
- Aurora for Postgres (babelfish enabled)
Data Inserted
Now I have manually inserted database objects like tables, views, and stored procedures inside the SQL Server RDS instance. NOTE: Tables in this instance have data inserted manually.
Data Migrated
Now I want to migrate these database objects to an Aurora Postgres instance. Since it is babelfish enabled, I am using the SSMS client for inserting these objects, and then using aws dms, I am transferring this data from the SQL server to Aurora Postgres. Now, when you create Aurora Postgres using Babelfish, an additional database gets created in the list of databases within Postgres called babelfish_db. When I try running the dms migration task, new tables get created in addition to the old ones. This is something I can check via pgAdmin, but when I try checking the same via SSMS, I don't see anything.
Question
What am I missing here? How can I view migrated data via DMS in SSMS?
Most likely you haven't configured the schema rename transformations, e.g. from
dbotomydb_dbo. This causes DMS to think these are new tables, instead of using the existing ones which you correctly pre-created through Babelfish. Possibly a transformation rule to lowercase the table names is also needed.Quoting from the docs:
There are also some additional configurations or workarounds that could be needed depending on the data types you're using, etc.
Documentation link: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.Babelfish