Azure SQL数据库活动地理复制

时间:2017-01-04 12:12:27

标签: azure azure-sql-database replication

使用Azure数据库复制,应用程序可以从最接近其位置的数据库中读取数据。 我的主数据库在美国,而辅助数据库在巴西。我的系统在这两个国家运行,我想在巴西时系统读取巴西的数据库,在美国也是如此。 我在本文中读到:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-overview可以从主数据库和辅助数据库中读取数据,但需要手动。我想根据位置自动执行此操作。 有可能吗?

2 个答案:

答案 0 :(得分:1)

您可以将所有读取请求路由到辅助节点,但不能将secondary用作读取写入,因为在地理复制中,辅助节点只能读取..

  

在巴西,系统读取巴西的数据库,在美国也是如此

关于读取(仅读取)数据,您可以将所有读取请求路由到辅助节点...但这些不是最接近的,您将必须检测客户端IP并且基于此,您将必须使用适当的要连接的连接字符串..

您可以使用Trafficmanager将用户定向到最近的网络应用/云服务..但您不能对数据库执行相同操作

答案 1 :(得分:0)

方法是使用2个连接字符串用于写入一个用于读取,然后使用本地读取和主要写入。在使用Geo-replication和Fail-over组的Azure sql中,您可以将dns名称用于主sql实例。 Azure SQL数据库现在支持数据库组的透明地理故障转移

https://azure.microsoft.com/en-us/blog/azure-sql-database-now-supports-transparent-geographic-failover-of-multiple-databases-featuring-automatic-activation/

所以你可以使用:

  • failovergroup.database.windows.net - 用于写入
  • failovergroup.secondary.database.windows.net - 供读取