AlwaysOn 可用性组侦听器端口选择

all*_*azz 6 sql-server listener availability-groups

简单的问题(我希望!)

为什么要为 Always On AG 侦听器使用非默认端口?

我还没有找到一个很好的帖子(还)概述优点与缺点。

目前,我可以想到使用 1433 以外的其他三个原因:

有没有其他人能想到的?

Md *_*han 1

\n

遵循 Sql Server 安全强化指南。

\n
\n\n

因为有时 Windows 防火墙(如果启用)会添加此 IP/端口的例外。

\n\n
\n

避免端口冲突(按照\n https://msdn.microsoft.com/en-us/library/hh213417.aspx#SelectListenerPort)。

\n
\n\n

您可以将默认端口配置为 1433,以便简化客户端连接字符串。如果使用 1433,则无需在连接字符串中指定端口号。

\n\n
\n

能够在网络跟踪等中更快地识别对特定 AG 的数据库调用。

\n
\n\n

由于每个可用性组侦听器都将具有单独的虚拟网络名称,因此可以将单个 WSFC 上配置的每个可用性组侦听器配置为引用相同的默认端口 1433。

\n\n
\n

为什么要为 Always On AG 侦听器使用非默认端口?

\n
\n\n

在 \xe2\x80\x9cPort\xe2\x80\x9d 字段中,选择一个合适的端口(未使用的端口)。默认情况下,有时sql server端口为1433。

\n\n

假设您正在配置端口(假设为 5122),在侦听器中的 AlwaysOn 可用性组中配置 5122 端口后。你必须通过 telnet 进行测试

\n\n
\xe2\x80\x9ctelnet <your listener name> <listener port>\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n\n

检查测试连接后监听端口号。如果你收到这样的错误

\n\n

连接到 SQLServerName ...无法打开与主机的连接\n,在端口 5122 上:连接失败

\n\n
Note: Here SQLServerName is the Name of the Primary Replica Server Name.\n
Run Code Online (Sandbox Code Playgroud)\n\n

在这种情况下,请检查您是否\xe2\x80\x99 拼写错误(主机名或端口),如果一切正常,您可以检查 Windows 防火墙(如果已启用),并添加此 IP/端口的例外。另一种尝试是使用侦听器 IP,而不是计算机名称。如果使用 IP 的连接有效,您需要检查名称解析不起作用的原因。与域/DNS/系统管理员联系以解决该问题。

\n\n

如果从 Windows 的角度来看一切看起来都不错,并且如果实例/侦听器确实只是并且应该进行回复,则您需要与您公司的网络团队联系,以便解锁此功能。始终向他们传递以下信息:

\n\n
Source IP and hostname (from where you are connecting).\nDestination IP and hostname.\nDestination port.\n
Run Code Online (Sandbox Code Playgroud)\n\n

如需进一步参考可用性组侦听器、客户端连接和应用程序故障转移 (SQL Server)以及此处

\n