Pet*_*ter 3 availability-groups sql-server-2016
我最近接管了一个可用性组的管理工作,该组由两个节点组成,同步提交模式。
我的理解是,当Yes两个副本上的 Readable Secondary 选项都设置为时,任何带有 applicationIntent=ReadOnly 的连接字符串都将路由到 Node1。
同样,如果我将 Node2 的 Readable Secondary 选项更改为“Read-intent”,则任何具有 applicationIntent=ReadOnly 的连接字符串都将路由到 Node2。
那么,为什么当两个节点都设置为“Readable Secondary = Yes”时,此连接字符串会路由到 Node2:
'数据源=redacted.domain.com; 初始目录= MyDatabase; ApplicationIntent=只读;用户 ID=用户;密码=********;MultiSubnetFailover=True'
基本上,将“ReadOnly”参数更改为“ReadWrite”会导致连接转到 Node1。改回“只读”会导致连接路由到 Node2。如果没有“Readable Secondary= Read-intent”选项,这怎么可能?
编辑:输出
SELECT ag.name as "Availability Group", ar.replica_server_name as "When Primary Replica Is",
rl.routing_priority as "Routing Priority",
ar2.replica_server_name as "RO Routed To",
ar.secondary_role_allow_connections_desc,
ar2.read_only_routing_url
FROM sys.availability_read_only_routing_lists rl
inner join sys.availability_replicas ar on rl.replica_id = ar.replica_id
inner join sys.availability_replicas ar2 on rl.read_only_replica_id = ar2.replica_id
inner join sys.availability_groups ag on ar.group_id = ag.group_id
ORDER BY ag.name, ar.replica_server_name, rl.routing_priority
我的理解是,当两个副本上的 Readable Secondary 选项都设置为 Yes 时,任何带有 applicationIntent=ReadOnly 的连接字符串都将路由到 Node1
不,它应该首先转到节点 2,因为节点 2 是只读副本,节点 1 是主要副本,它将负责读写操作。根据 BOL
只读路由是指 SQL Server 能够将符合条件的只读连接请求路由到可用的 Always On 可读辅助副本(即配置为在辅助角色下运行时允许只读工作负载的副本)
什么是输出
SELECT ag.name as "Availability Group", ar.replica_server_name as "When
Primary Replica Is",
rl.routing_priority as "Routing Priority",
ar2.replica_server_name as "RO Routed To",
ar.secondary_role_allow_connections_desc,
ar2.read_only_routing_url
FROM sys.availability_read_only_routing_lists rl
inner join sys.availability_replicas ar on rl.replica_id = ar.replica_id
inner join sys.availability_replicas ar2 on rl.read_only_replica_id = ar2.replica_id
inner join sys.availability_groups ag on ar.group_id = ag.group_id
ORDER BY ag.name, ar.replica_server_name, rl.routing_priority
Run Code Online (Sandbox Code Playgroud)
因此,从输出中您可以看到,当节点 1 是主要副本时,只读连接将作为首选连接到节点 2,反之亦然
| 归档时间: |
|
| 查看次数: |
3458 次 |
| 最近记录: |