設定 SQL Server 在特定 TCP 通訊埠上接聽

適用於:SQL Server

此文章描述如何使用 SQL Server 組態管理員來設定 SQL Server 資料庫引擎的執行個體在特定固定連接埠上接聽。 若啟用,SQL Server 資料庫引擎的預設執行個體會接聽 TCP 通訊埠 1433。 針對動態連接埠設定資料庫引擎和 SQL Server Compact 的具名執行個體。 這表示,當 SQL Server 服務啟動時,會選取可用的連接埠。 透過防火牆連接到具名執行個體時,設定資料庫引擎接聽特定連接埠,如此才能在防火牆中開啟適當的連接埠。

因為連接埠 1433 是 SQL Server 的已知標準,所以某些組織會指定 SQL Server 連接埠編號應該變更以加強安全性。 這可能有助於某些環境中。 不過,TCP/IP 架構允許連接埠掃描器查詢開放的連接埠,因此變更連接埠編號並非強固的安全性量值。

如需預設 Windows 防火牆設定的詳細資訊以及影響 Database Engine、Analysis Services、Reporting Services 和 Integration Services 之 TCP 通訊埠的描述,請參閱 設定 Windows 防火牆以允許 SQL Server 存取

提示

選取通訊埠編號時,請參閱 https://www.iana.org/assignments/port-numbers,以取得指派給特定應用程式的通訊埠編號清單。 選取未指派的通訊埠編號。 如需詳細資訊,請參閱 The default dynamic port range for TCP/IP has changed in Windows Vista and in Windows Server 2008(在 Windows Vista 和 Windows Server 2008 中,TCP/IP 的預設動態通訊埠範圍已變更)。

警告

資料庫引擎會在重新啟動之後開始接聽新的通訊埠。 不過,SQL Server Browser 服務會監視登錄,並在組態變更時回報新的連接埠編號,即使資料庫引擎可能不會用到亦然。 重新啟動資料庫引擎可確保一致性並避免連接失敗。

使用 SQL Server 組態管理員

為 SQL Server 資料庫引擎指派 TCP/IP 連接埠編號

  1. 在 SQL Server 組態管理員的主控台窗格中,展開 [SQL Server 網路組態],選擇 [<執行個體名稱>的通訊協定],然後在正確窗格中按兩下 [TCP/IP]。

    注意

    如果您無法開啟 SQL Server 組態管理員,請參閱 SQL Server 組態管理員

  2. 在 [TCP/IP 內容] 對話方塊的 [IP 位址] 索引標籤上會出現數個 IP 位址,這些 IP 位址的格式是 IP1IP2IPAll。 其中一個是供回送介面卡的 IP 位址 127.0.0.1 使用。 同時會出現額外的 IP 位址代表電腦上的每個 IP 位址。 (您可能會看到 IP 第 4 版和 IP 第 6 版位址)。以滑鼠右鍵按一下每個位址,然後選擇 [屬性] 以識別要設定的 IP 位址。

  3. 如果 TCP 動態通訊埠對話方塊包含 0,代表資料庫引擎正在接聽動態通訊埠,請將 0 刪除。

    Screenshot showing the TCP ports.

  4. 在 [IPn屬性] 區域方塊的 [TCP 通訊埠] 方塊中,輸入您要此 IP 位址接聽的連接埠編號,然後選擇 [確定]。 請以逗號分隔來指定多個連接埠。 選取 [確定]。

    注意

    如果 [通訊協定] 索引標籤上的 [全部接聽] 設定設為 [是],則只會使用 [IPAll] 區段下的 [TCP 連接埠] 和 [TCP 動態連接埠] 值,而完全略過個別 IPn 區段。 如果 [全部接聽] 設定設為 [否],則會略過 [IPAll] 區段下的 [TCP 連接埠] 和 [TCP 動態連接埠] 設定,而改用個別 IPn 區段上的 [TCP 連接埠]、[TCP 動態連接埠] 和 [已啟用] 設定。

    每個 IPn 區段都有一個預設值為「否」的 [已啟用] 設定,這會導致 SQL Serve 略過此 IP 位址,即使已定義連接埠也是如此。

  5. 在主控台窗格中,選擇 [SQL Server 服務]。

  6. 在詳細資料窗格中,以滑鼠右鍵按一下 [SQL Server (<執行個體名稱>)],然後選擇 [重新啟動],以停止並重新啟動 SQL Server。

連線

設定 SQL Server 接聽特定連接埠之後,有三種方式以用戶端應用程式連接到特定連接埠:

  • 在伺服器上執行 SQL Server Browser 服務,依名稱連接到資料庫引擎執行個體。
  • 在用戶端上建立別名,指定通訊埠編號。
  • 設定用戶端使用自訂連接字串進行連接。

另請參閱