標籤:
原文: 通過配置Windows 防火牆允許使用TCP/IP協議遠端存取資料庫
本文適用於:2005、2008、2008R2所有版本
為了可以通過TCP/IP協議遠端存取SQLServer資料庫,需要做以下幾點:
在SQLServer所啟動並執行伺服器上,我們必須找到SQLServer所偵聽的連接埠然後添加到WIndows防火牆的【允許入站】中。
一:需要添加SQLServer的連接埠到防火牆的入站規則中。
二:如果無法確定連接字串的連接埠或者SQLServer沒有偵聽TCP 1433連接埠,就要把SQLServer Browser服務所偵聽的UDP 1434連接埠添加到Windows防火牆中。這是因為:
a)、如果TCP連接埠被連接字串明確指定了,那麼像SQL Native Client這樣的串連提供者將會使用這個連接埠來串連SQLServer,所以此時不需要SQLServer Browser服務去尋找SQLServer所偵聽的相應連接埠。
b)、如果連接埠未被連接字串顯式定義,那麼串連提供者會發送UDP 包到1434連接埠。所以,如果1434連接埠沒有在Windows防火牆開啟的話串連提供者將得不到SQLServer所偵聽的相應的TCP連接埠。然後,串連提供者將只用1433來串連SQLServer。如果此時SQLServer未偵聽1433連接埠,則會返回失敗。所以也需要將UDP1433連接埠加入到Windows防火牆的入站規則中。
為了找出SQLServer鎖監聽的連接埠,可以使用以下步驟:
1、開啟SQLServer 組態管理員
2、在SQLServer網路設定節點下,點擊對應執行個體名的協議。雙擊TCP/IP→切換到【IP地址】選項卡,你可以從中找到所有SQLServer所偵聽的每個IP地址的連接埠或所有IP地址指定的連接埠。
注意:如果SQLServer偵聽動態連接埠,將會在每次重啟後該表。所以,你必須找到它當前偵聽的連接埠,然後添加到Windows防火牆中。
通過配置Windows 防火牆允許使用TCP/IP協議遠端存取資料庫