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服務不要打開。