我已经开始将ApplicationIntent=ReadOnly;用于高级数据库,效果非常好。
但是,如果我使用故障转移组连接,则连接始终为READ_WRITE。可以不使用带有主Timeout=300;TrustServerCertificate=True;Database=xxx;ApplicationIntent=ReadOnly;连接字符串的ApplicationIntent=ReadOnly吗: Server=tcp:xxxx-fog.database.windows.net,1433;Persist安全Info=False;Connection FOG
我可以使用地理辅助fine -但是我们在地理辅助上已经有了很多负载,所以我也想使用一些主副本来读取。
发布于 2018-09-20 02:44:30
ApplicationIntent允许路由到高级或业务关键型数据库的本地HA副本。使用故障切换组时,若要对只读流量进行负载平衡,应使用Server=tcp:.secondary.database.windows.net。这将适用于FOG中的任何数据库(高级数据库或非高级数据库),并将确保查询在故障转移时不会失败。我们也推荐使用ApplicationIntent。如果将数据库升级到Premium或Business Critical,这将允许只读客户端在不更改连接字符串的情况下利用本地HA复制副本。
发布于 2018-10-01 06:23:08
更新一下- Azure已经确认这是一个bug,他们将在接下来的几周内修复它。其中,如果我们在将数据库添加到故障切换组之后,在数据库上启用了读取横向扩展功能,则通过故障切换组端点的连接不会遵守读取横向扩展重定向。在解决此问题之前,当前的解决方法是在将数据库添加到故障切换组之前,在数据库上启用读取比例功能。
https://stackoverflow.com/questions/52395485
复制相似问题