在 Azure 中,我试图将一个区域中的现有数据库同步到另一个区域中的新数据库。
当我设置我的同步组并刷新架构时,它只拉入了 80% 的表。没有错误报告。这是我采取的一般步骤
- 在西欧地区创建了一个新的空数据库。
- 创建了一个同步组,将现有的北欧数据库设置为“中心”,将新的西欧数据库设置为“参考”数据库,并选择双向同步。
- 转到同步规则并刷新架构
- 仅列出了 80% 的表格。
作为记录,表名中没有禁止字符,现有北欧数据库中的表包含数据。现有数据库中大约有 80 个表,只有 65 个显示在同步规则下的同步模式中。
什么可能导致这些表不被拉入?
更新
似乎如果 PK 不存在于表中,则它不会被拉入。但似乎如果 PK 不是表中的第一列,它也不会被拉入。我应该提到这是我正在尝试同步的 EPiServer CMS 数据库。
以下是缺失的表格和一些观察结果:
缺少 PK 不是表中第一列的表
- aspnet_Applications
- aspnet_Membership
- aspnet_Paths
- aspnet_Roles
- aspnet_Users
缺少没有 PK 的表
- 完成范围
- 实例状态
- tblChangeNotificationQueuedGrid
- tblChangeNotificationQueuedInt
- tblChangeNotificationQueuedString
- 关系
但是,还有其他缺失的表确实有一个 PK 作为第一列,并且也有数据:
tblContentCategory
tblContentProperty
tblUserPermission
tblWorkContentCategory
tblWorkContentProperty