為了可以通過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防火牆的入站規則中。
有時開發過程中,別人需要連到你的本機進行網站的訪問,防火牆會阻止外界的訪問,你可以開放本地一個端口,讓別人可以訪問。
1、找到防火牆
2、點擊高級設置
3、點擊“入站規則”,再點擊“新建規則”:
4、點擊“端口”
5、填寫你要開放的端口號,我這里用9999:
6、默認下一步,下一步,最后給你的設置取個名字,隨便你,我這里用pass9999point,就是讓9999端口通過
7、點擊完成,你可以在列表中看到你設置的規則,然后這個端口就可以被外界訪問了,而不必將防火牆全部關閉: