如何允许使用 2 个不同的 ip 连接到 SQL Server

el_*_*rom 6 sql-server clustering sql-server-2012 windows-server

我在这里有一个小问题:我在集群上有一个 SQL Server 实例 2012(我们称之为 SQLINSTANCE)。对于这个实例,我还有 2 个网络接口:

- SQLINSTANCE.my.network
- SQLINSTANCE.mgt.my.network.
Run Code Online (Sandbox Code Playgroud)

我的实例侦听特定端口1550.

如果我想连接到它,这是我的结果:

- SQLINSTANCE.my.network\INSTANCE: working
- SQLINSTANCE.mgt.my.network\INSTANCE: NOT working.
Run Code Online (Sandbox Code Playgroud)

我的猜测是它涉及 SQL 浏览器,但我找不到如何告诉它需要侦听两个地址。

我正在使用没有防火墙的 Windows Server 2008r2。这两个地址都被设置为集群管理器中 SQL Server 的资源。

Joh*_* N. 5

这是我们在我工作的地方使用的设置类型。

为了提供更好的示例,我假设您的别名(CNAME)配置如下:

SQLINSTANCE.my.network -> 192.168.1.30
SQLINSTANCE.mgt.my.network -> 10.0.0.1
Run Code Online (Sandbox Code Playgroud)

然后启动SQL Server 配置管理器,导航到SQL Server 网络配置分支并打开SQLINSTANCE协议(我的图片显示 MSSQLSERVER 作为实例名称),然后右键单击并打开TCP/IP 属性您将看到类似于以下屏幕截图的屏幕:

TCP/IP 属性 |  协议设置

在对话框中,确保设置了 TCP/IP 属性并设置Enabled : YesListen All : No选项,因此它看起来像以下屏幕截图:

TCP/IP 属性 |  更正了协议设置

然后您切换到IP 地址注册并找到您的第一个 IP 地址。在本例中,第一个 IP (192.168.0.30) 的设置位于 IP2 部分。它看起来像这样:

IP2地址设置

确保该选项Enabled : Yes已设置且 IP 地址正确且TCP Port : 1550已设置为您的保留端口。

对另一个 IP 地址执行相同操作。找到 IP 部分(例如此屏幕截图中的 IP4)并进行相应设置:

IP4地址设置

最后但并非最不重要的是,我们必须确保禁用动态端口。为此,向下滚动到IP 地址寄存器的底部并设置以下设置:

在此处输入图片说明

TCP 动态端口TCP 端口设置都为空是很重要的!

完成后单击确定并重新启动您的 SQL Server 实例 SQLINSTANCE。您的 SQL Server 实例 SQLINSTANCE 现在将选择两个 IP 地址。

祝你好运!

我写了一篇问答风格的文章什么是 SSMS 登录框的有效连接字符串?它解释了您在连接到 SQL Server 及其实例时可能会遇到的一些设置。它还简要说明了 SQL Server Browser 服务仅在您不知道要连接的实际端口时才需要。增加了安全性吗?


Jon*_*han 0

此链接应该有助于解决您的问题。它向您展示如何配置 SQL 以侦听多个端口或多个 IP 地址。

配置 SQL Server 以使用多个端口