適用於:SQL Server
本文說明如何使用 SQL Server 組態管理員,將 Database Engine 設定為在 SQL Server 中的多個 TCP 連接埠上接聽。 針對 SQL Server 啟用 TCP/IP 時,Database Engine 會接聽連接點上的連入連線,其中包含 IP 位址和 TCP 通訊埠號碼。 下列程式會建立表格式數據流 (TDS) 端點,讓SQL Server 接聽另一個 TCP 連接埠。
必須建立第二個 TDS 端點的原因包括:
透過設定防火牆來提高安全性,限制存取預設端點至特定子網路的本地客戶端電腦。 為了讓您的支援團隊維護 SQL Server 的網際網路存取,您可以建立一個防火牆對外公開的新端點,並將連接該端點的權限限制在您的伺服器支援團隊內。
在使用非統一記憶體存取 (NUMA) 時,相似化特定處理器的連接。
設定 TDS 端點包含下列步驟,您能夠以任意順序來完成:
建立 TCP 通訊端的 TDS 端點,然後還原預設端點的存取權 (如有必要)。
對想要的伺服器主體授與端點存取權。
指定選取 IP 位址的 TCP 通訊埠編號。
如需預設 Windows 防火牆設定的詳細資訊以及影響資料庫引擎、Analysis Services、Reporting Services 和 Integration Services 之 TCP 連接埠的描述,請參閱設定 Windows 防火牆以允許 SQL Server 存取。
建立 TDS 端點
為伺服器上所有可用的 TCP 位址發出以下指令,在通訊埠 1500 建立一個名為 CustomConnection 的端點。
USE master;
GO
CREATE ENDPOINT [CustomConnection]
STATE = STARTED
AS TCP
(
LISTENER_PORT = 1500,
LISTENER_IP = ALL
)
FOR TSQL();
GO
當您建立新的 Transact-SQL 端點時,就會撤銷預設 TDS 端點的 public 連線權限。 如果預設端點需要存取 public 群組,請使用 GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] to [public];
陳述式重新套用此權限。
授與端點的存取權
請執行以下指令來授予公司網域中的 SQLSupport 群組對 CustomConnection 端點的存取權。
GRANT CONNECT
ON ENDPOINT::[CustomConnection] TO [corp\SQLSupport];
GO
設定 SQL Server Database Engine 在另一個 TCP 連接埠上進行監聽
在 [SQL Server 組態管理員] 中,展開 [SQL Server 網络設定],然後選取 通訊<]。
展開協定[<instance_name>],然後選取TCP/IP。
在右窗格中,以滑鼠右鍵按下您要啟用的每個已停用IP位址,然後選取[ 啟用]。
以滑鼠右鍵按兩下 [IPAll],然後選取 [ 屬性]。
在 [TCP 通訊埠] 方塊中,輸入想要資料庫引擎接聽的通訊埠,並以逗號分隔。 在我們的範例中,如果列出預設埠 1433,請輸入 ,1500 ,讓方塊讀取 1433,1500,然後選取 [確定]。
注意
如果您未在所有IP位址上啟用埠,請在屬性方塊中只針對所需的位址設定另一個埠。 然後,在控制檯窗格中,以滑鼠右鍵按兩下 [TCP/IP],選取 [ 屬性],然後在 [ 全部接聽 ] 方塊中,選取 [ 否]。
在左側窗格中,選取 [SQL Server 服務]。
在右窗格中,以滑鼠右鍵按兩下 [SQL Server<instance_name>],然後選取 [ 重新啟動]。
當 Database Engine 重新啟動時,錯誤記錄會列出 SQL Server 正在接聽的埠。
連接到新的端點
使用信任連接,並假設使用者是 [corp\SQLSupport] 群組的成員,在稱為 ACCT 的伺服器上發出以下陳述式,連接 SQL Server 之預設執行個體的 CustomConnection 端點。
sqlcmd -SACCT,1500