使用Azure数据库复制,应用程序可以从最接近其位置的数据库中读取数据。 我的主数据库在美国,而辅助数据库在巴西。我的系统在这两个国家运行,我想在巴西时系统读取巴西的数据库,在美国也是如此。 我在本文中读到:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-overview可以从主数据库和辅助数据库中读取数据,但需要手动。我想根据位置自动执行此操作。 有可能吗?
答案 0 :(得分:1)
您可以将所有读取请求路由到辅助节点,但不能将secondary用作读取写入,因为在地理复制中,辅助节点只能读取..
在巴西,系统读取巴西的数据库,在美国也是如此
关于读取(仅读取)数据,您可以将所有读取请求路由到辅助节点...但这些不是最接近的,您将必须检测客户端IP并且基于此,您将必须使用适当的要连接的连接字符串..
您可以使用Trafficmanager将用户定向到最近的网络应用/云服务..但您不能对数据库执行相同操作
答案 1 :(得分:0)
方法是使用2个连接字符串用于写入一个用于读取,然后使用本地读取和主要写入。在使用Geo-replication和Fail-over组的Azure sql中,您可以将dns名称用于主sql实例。 Azure SQL数据库现在支持数据库组的透明地理故障转移
所以你可以使用: