azure - 在地理复制数据库上使用 Azure SQL 数据同步

我在生产数据库上设置了 Azure SQL Georeplication。这个过程已经运行了一段时间。地理复制数据库位于弹性池中的另一台服务器上。我现在想保持本地数据库同步,并且正在考虑设置 Azure SQL 数据同步 (ADS)。我的偏好是在 georeplicated 副本和本地 SQL 之间进行 Azure 数据同步工作。在该模型中,Azure Georeplication 保持原样工作,并且来自 relica 的数据同步到本地服务器。

我已经阅读了 Azure 数据同步的所有限制,并没有说这个模型不起作用。就我而言,我在数据模型中有超过 500 个 tables ,只有 25 个左右需要同步。当我使用 Azure 门户设置这些 tables 时,它错误地说 ADS 仅支持 500 tables。对此的官方解决方法是创建一个仅对我要复制的 tables (25)具有权限的用户,并使用该用户连接到集线器数据库。

因为副本是只读的(因为它是镜像副本),所以 CREATE USER 语句失败,抱怨数据库是只读的。

我的问题:在 Azure SQL 数据同步中使用地理复制数据库作为中心数据库是否可行?我可以在基础数据库中创建将复制到地理复制数据库的用户,但感觉就像管道一样,更糟糕的是,当我添加我复制的 tables (25)时,它需要在那些 tables 上创建触发器由于复制数据库的只读属性,也可能会失败。

任何见解都值得赞赏。

谢谢...

回答1

Azure SQL 数据同步在这种情况下不起作用,因为如果发生故障转移,SQL 数据同步将失败。

如果您考虑一下,Azure SQL 数据同步已经为您提供了异地复制的好处。我的意思是 SQL 数据同步也可以帮助您跨数据中心和本地复制数据。

基于上述考虑,我将删除异地复制并使用 SQL 数据同步设置 2 个 Azure SQL 数据库和一个本地 SQL Server 实例。面向 Azure SQL 的应用程序可以连接到任一 Azure SQL 数据库,如果它们无法连接到其中一个,则可以连接到另一个。使用 SQL 数据同步,您可以让您的用户连接到离他们最近的 Azure SQL 数据库。

本地应用程序如果无法连接到 Azure SQL,则可以连接到本地 SQL。

相似文章

azure - Azure 帐户与租户(可能与管理组)

我很难看到Azure帐户、管理组和租户之间的差异。它们似乎有一个共同点,即都可以包含多个订阅。我明白了订阅的概念——一个计费单元,所有费用都从同一张信用卡中扣除,每个订阅都会产生不同的账单。订阅似乎是...