SQL Azure异地复制故障转移组连接字符串路由问题咨询
Azure SQL 故障转移组常见行为与配置问题解答
故障转移后secondary端点的连接行为
servername.secondary.database.windows.net端点的路由逻辑固定为始终指向当前承担辅助副本角色的节点,永远不会指向主副本。- 主节点离线触发故障转移后,原辅助副本会晋升为新的主节点,此时故障转移组内无可用在线辅助副本,所有指向secondary端点的连接会直接中断,不会自动路由到新主节点。只有等原故障主节点恢复上线、自动成为新的辅助副本后,该端点才会恢复可连接状态。
模拟节点故障的测试方法
- 不需要找单独下线辅助节点的操作入口,直接在Azure门户对应故障转移组的配置页,点击「强制故障转移」即可模拟主节点离线的全流程故障场景,过程中会自动完成副本角色切换,可以直接观测两个端点的连接变化。测试请选在非业务时段操作,强制故障转移会带来数十秒到数分钟的连接闪断。
ApplicationIntent=ReadOnly 不生效的排查方向
主端点配合只读参数无法将流量路由到辅助副本,基本都是配置没满足前置要求导致的,逐一核对即可:
- 确认故障转移组的只读路由开关已手动开启:该开关默认是关闭状态,新建故障转移组时不会自动打开,需要在FG配置页手动启用。
- 确认连接串配置正确:必须使用故障转移组主端点
servername.database.windows.net作为连接地址,不能直接填写单个副本的独立服务器地址;连接串里不要配置固定IP映射、强制直连单节点的相关参数。 - 确认配置同步时间:只读路由开关开启后,配置同步到所有节点最长需要5分钟,刚改完配置立刻测试会出现流量仍打到主节点的情况,等待配置同步完成后再验证即可。
内容的提问来源于stack exchange,提问作者Luke Briner
相关产品推荐
相关产品推荐

