In Azure, I am attempting to sync an existing database in one region to a new database in another region.
When I set up my Sync Group and refresh the schema, it is only pulling in 80% of the tables. No errors are reported. Here are the general steps I took
- created a new, empty database in West Europe region.
- created a Sync Group, setting the existing North Europe database as the 'hub', and the new West Europe database as the 'reference' database, with bi-directional syncing selected.
- went to Sync Rules and refreshed the schema
- only 80% of the tables are listed.
For the record, there are no prohibited characters in the table names, and the tables in the existing North Europe database contain data. There are around 80 tables in existing db, only 65 showing in the schema Sync pulls in under Sync Rules.
What could be causing these tables not to be pulled in?
Update
It seems that if a PK is not present in the table then it won't be pulled in. But it also seems that if the PK is not the first column in the table it isn't pulled in either. I should mention this is an EPiServer CMS database I'm trying to sync.
Here are the missing tables and some observations:
Missing tables where PK is not first column in the table
- aspnet_Applications
- aspnet_Membership
- aspnet_Paths
- aspnet_Roles
- aspnet_Users
Missing tables where no PK
- CompletedScope
- InstanceState
- tblChangeNotificationQueuedGrid
- tblChangeNotificationQueuedInt
- tblChangeNotificationQueuedString
- tblRelation
However, there are also other missing tables which DO have a PK as the first column, and also have data:
tblContentCategory
tblContentProperty
tblUserPermission
tblWorkContentCategory
tblWorkContentProperty