SQL Server在安裝到伺服器上後,由於出於伺服器安全的需要,所以需要屏蔽掉所有不使用的端口,只開放必須使用的端口。以下就來介紹下SQL Server 2008所使用的連接埠有哪些:
首先,最常用最常見的就是1433埠。這個是資料庫引擎的端口,如果我們要遠端連接資料庫引擎,那麼就需要打開該端口。這個連接埠是可以修改的,在「SQL Server設定管理員」中切換到「XXX的協定」裡面選擇,TCP/IP協定屬性中可以設定TCP埠。如圖所示:
SSIS要呼叫DCOM協議,所以在使用SSIS的時候需要開啟135個端口,而且這個端口是不能更改的。只有開啟TCP 連接埠135 才能存取服務控制管理員(SCM)。 SCM 執行下列任務:啟動和停止Integration Services 服務,以及將控制要求傳輸到執行的服務。
接下來再說一下SSAS,SSAS預設實例使用的是2383端口,如果是命名實例,那麼每個實例都會有一個管理員指定的端口,這個端口也可以是動態分配的,由於網路安全的需要,強烈建議不要使用動態分配連接埠的方案。如果是動態分配的端口,客戶端在連接伺服器時,將會連接伺服器的2382端口,這個端口是SQL Server Browser使用的端口。 SQL Server Browser再透過2382埠告訴客戶端,需要連線的命名實例的實際連接埠號碼。 (這是官方的說法,但是我並不確定這裡是要2382端口,不過接下來提到的UDP1434端口是肯定有用的。)另外SQL Server Browser需要使用到UDP的1434端口,所以如果需要使用該服務的話,必須將UDP1434打開。修改SSAS的端口,需要先打開SSAS服務,然後使用SSMS連接到SSAS中,在物件資源管理器中右鍵單擊實例,選擇屬性,彈出分析服務屬性窗口,設定Port屬性為需要的端口,預設值為0 ,也就是沒有設定的意思,然後重啟SSAS服務即可。
重新啟動後,SSMS取得其他客戶端連接SSAS的話,那麼就需要使用「主機名稱:連接埠」的方式作為連接主機,而如果是資料庫引擎的話,那麼是使用「主機名稱,連接埠」的格式,這兩個是有所區別的。
報表服務是透過Web的方式提供服務的,所以預設情況下報表服務使用的是80端口,當然用戶也可以修改報表服務的端口,在報表服務配置管理器中修改Web服務和報表管理器的端口,如圖所示:
SSB的端口配置,SSB如果涉及到計算機之間通過網絡進行通信,那麼就需要設置端點(EndPoint),在設置SSB的端點時,就需要製定偵聽的端口,比如我們創建這樣一個端點:
USE master;
GO
CREATE ENDPOINT BrokerEndpoint
STATE = STARTED
AS TCP ( LISTENER_PORT = 4037 )
FOR SERVICE_BROKER ( AUTHENTICATION = WINDOWS ) ;
GO那我們就需要開發4037埠。
同樣的道理,如果我們要設定資料庫鏡像、SOAP存取等,那麼也需要建立端點,同時開通端點中的連接埠。
除了以上介紹的連接埠外,如果要做資料庫複製之類的,需要在資料庫伺服器上設定共用資料夾以方便多台伺服器的資料傳輸的話,那麼就還需要開通Windows共用的端口,如137、138、 139、445等。
以上介紹了這麼多服務和端口,這需要根據實際的需要來設置,出於安全考慮可以將默認端口該為自己的端口,而且SQL Server Browser服務不要打開。