Sql-Server

如何允許使用 2 個不同的 ip 連接到 SQL Server

  • July 30, 2017

我在這裡有一個小問題:我在集群上有一個 SQL Server 實例 2012(我們稱之為 SQLINSTANCE)。我也有這個實例的 2 個網路介面:

- SQLINSTANCE.my.network
- SQLINSTANCE.mgt.my.network.

我的實例偵聽特定埠,1550.

如果我想連接到它,這是我的結果:

- SQLINSTANCE.my.network\INSTANCE: working
- SQLINSTANCE.mgt.my.network\INSTANCE: NOT working.

我的猜測是它涉及 SQL 瀏覽器,但我找不到如何告訴它它需要監聽兩個地址。

我正在使用沒有防火牆的 Windows Server 2008r2。這兩個地址都設置為群集管理器中 SQL Server 的資源。

這是我們在我工作的地方使用的設置類型。

為了提供更好的範例,我假設您的別名 (CNAME) 配置如下:

SQLINSTANCE.my.network -> 192.168.1.30
SQLINSTANCE.mgt.my.network -> 10.0.0.1

然後啟動SQL Server Configuration Manager,導航到SQL Server Network Configuration分支並打開Protocols for 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 服務。增加了安全性嗎?

此連結應該有助於解決您的問題。它向您展示瞭如何配置 SQL 以偵聽多個埠或多個 IP 地址。

將 SQL Server 配置為使用多個埠

引用自:https://dba.stackexchange.com/questions/58874