0

我们有一个要求,我们必须定期在不同的数据库实例之间移动数据。(例如,一些愿意为更好的性能支付更多费用的客户)。所以这不会是一次性的。

数据库表具有参照完整性。每次我们迁移客户数据时,有没有一种方法可以在不重写 sql 脚本(或其他方法)的情况下做到这一点?

我遇到了如何在保持外键关系/参照完整性的同时在多个数据库表之间移动数据?. 但是,似乎我们每次迁移数据时都会编写脚本(如果我误解了这个线程上的答案,请纠正我)。

谢谢

编辑:

  • 两台服务器都使用 SQL Server 2012(相同版本)。它是一个 Azure SQL Server 数据库。
  • 它们不一定是链接的(它们之间没有防火墙)
  • 我们只传输一些数据,而不是整个数据库。这仅适用于选择支付更多费用的某些客户。
  • 两个数据库中的架构完全相同。
4

2 回答 2

4

Preyash - 请参阅拆分合并工具的文档。正如您所描述的,Split-Merge 工具使您能够根据分片键(例如,客户 ID)在数据库之间移动数据。您需要对应用程序进行的一项修改是添加分片映射(即,了解哪些客户驻留在哪些数据库中的全局状态的数据库)。

于 2015-06-01T13:01:05.643 回答
1

查看 Azure 数据同步。它更符合您的要求。但是您最终可能会拥有另一个 SQL Azure DB 来维护一个 Hub。Azure 数据同步遵循中心辐射模式,可让您在几分钟的同步间隙内进行所有灵活的定向同步。它更简单,无需任何脚本即可快速设置,一切随心所欲。

于 2015-06-02T09:38:00.623 回答