首页 > 解决方案 > 无法使用具有只读的 Listerner 地址访问 SQL Server

问题描述

我有两个 SQL Server 实例作为 AlwaysOn 主副本运行。现在我想在副本中设置连接读取数据库。我刚刚按照以下说明设置了我的 SQL Server:https ://blogs.msdn.microsoft.com/alwaysonpro/2013/07/01/end-to-end-using-a-listener-to-connect-to-a -secondary-replica-read-only-routing/

现在一切正常。但是如果我不使用只读参数,我可以使用来自外部的侦听器地址来访问 SQL Server。内网没问题

外部网络

sqlcmd -S <IP Listerner> -U <username> -P <password> -d <db name> -K readonly --> not connect
sqlcmd -S <IP Listerner> -U <username> -P <password> -d <db name> --> connected

内部网络

sqlcmd -S <IP Listerner> -U <username> -P <password> -d <db name> -K readonly --> connected
sqlcmd -S <IP Listerner> -U <username> -P <password> -d <db name> --> connected

标签: sql-serveralwayson

解决方案


可能是防火墙阻止了某些端口。确保在防火墙中打开端口 5022(默认端口)和用于侦听器的端口。


推荐阅读