我已经配置了AlwaysOn可用性组而没有任何问题。
同步镜像数据库,两个SQL Server都能正常工作。
我创建了一个可用性组侦听器,并将主服务器配置为仅接受ReadWrite连接,将辅助服务器配置为仅接受ReadOnly连接。
使用.NET Framework 4.5我使用SqlClient.SqlConnection连接到Listener,这是连接字符串:
Server=tcp:SQLListen.domain-name.com, 1435;Database=TestData;User id=user;Password=password;MultiSubnetFailover=True;ApplicationIntent=ReadOnly
Microsoft文档说,使用此ConnectionString,当我使用ReadOnly时,将连接到Seconday Server,ReadWrite将连接到主服务器,购买我总是连接到主服务器。
使用ReadOnly时收到错误,因为主服务器不接受ReadOnly连接。
当我连接ReadWrite时,我会连接到主服务器,就像它应该做的那样。
我已尝试连接到域名,并且还指示可用性组侦听器IP地址。
anybode可以告诉我我做错了吗?。
谢谢。
答案 0 :(得分:2)
我找到了解决方案。
我正在尝试做的是称为只读路由列表。
要进行配置,您应使用以下命令为任何服务器分配新URL:
ALTER AVAILABILITY GROUP [Availavility Group]
MODIFY REPLICA ON N'Replica Node' WITH (SECONDARY_ROLE(READ_ONLY_ROUTING_URL=N'tcp://route:1433'))
然后为主节点分配路由到辅助节点的列表:
ALTER AVAILABILITY GROUP [<your availabiliry group>]
MODIFY REPLICA ON N'<your availability group replica>' WITH (PRIMARY_ROLE(READ_ONLY_ROUTING_LIST = (N'<first preference replica>', N'<second preference replica>')))
此处所有信息: