隱藏 SQL Server Database Engine 的執行個體

適用於:SQL Server

本主題說明如何使用 SQL Server 組態管理員,在 SQL Server 中隱藏資料庫引擎的執行個體。 SQL Server 使用 SQL Server Browser 服務來列舉電腦上所安裝資料庫引擎的執行個體。 這可讓用戶端應用程式瀏覽伺服器,並可幫助用戶端區別同一部電腦上的多個資料庫引擎執行個體。 您可以使用下列程序,防止 SQL Server Browser 服務向嘗試利用 [瀏覽] 按鈕尋找執行個體的用戶端電腦公開資料庫引擎的執行個體。

使用 SQL Server 組態管理員

若要隱藏 SQL Server Database Engine 的執行個體

  1. 在 [SQL Server 組態管理員] 中,展開 [SQL Server 網路組態],以滑鼠右鍵按一下 [<伺服器執行個體> 的通訊協定],然後選取 [屬性]。

  2. [旗標] 索引標籤的 [HideInstance] 方塊中,選取 [是] ,然後按一下 [確定] 關閉對話方塊。 此變更在新連接時會立即生效。

備註

如果隱藏具名執行個體,將必須於連接字串中提供連接埠號碼,才可連接到隱藏的執行個體 (即使瀏覽器服務正在執行中亦然)。 建議您使用靜態連接埠,而不要使用具名隱藏執行個體的動態連接埠。
如需詳細資訊,請參閱設定伺服器接聽特定 TCP 連接埠 (SQL Server 組態管理員)

叢集

如果隱藏叢集執行個體或可用性群組的名稱,叢集服務可能無法連線到 SQL Server。 這會導致叢集執行個體 IsAlive 檢查失敗,且 SQL Server 會離線。

若要避免這種情況,請在叢集執行個體的所有節點或所有本機可用性群組複本中都建立別名,以反映為該執行個體所設定的靜態連接埠。 舉例而言,在含有兩個複本的可用性群組中,針對節點 2 執行個體在節點 1 上建立別名,例如 node-two\instancename。 在節點 2 上,建立稱為 node-one\instancename 的別名。 這些別名是成功容錯移轉的必要項目。

如需詳細資訊,請參閱建立或刪除用戶端使用的伺服器別名 (SQL Server 組態管理員)

如果隱藏了叢集具名執行個體,則當 LastConnect 登錄機碼(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI11.0\LastConnect) 的連接埠和 與 SQL Server 目前接聽的連接埠不同時,叢集服務可能無法連線到 SQL Server。 如果叢集服務無法連線到 SQL Server,您可能會看到類似如下的錯誤:
事件識別碼:1001:事件名稱:容錯移轉叢集資源鎖死。

另請參閱

伺服器網路組態
SQL 虛擬伺服器用戶端連接的描述
如何將靜態連接埠指派給 SQL Server 具名執行個體,並避免常見陷阱