解決SQL SERVER2005不能通過IP連接

     今天在配置金石工程項目管理網絡版的時候,要配置數據庫連接,我機器上環境是winxp+sql server2005,於是填入sqlserver的連接URL:\\192.168.1.100:1433,按下一步的時候卻提示不能連接到數據庫。愣了一下,意識到sqlserver服務沒有開(因爲平時不是一直使用sqlserver,所以都會把sqlserver相關幾個服務禁用掉以節省資源,同是在這裏提醒一下:很多時候連接不上sql server,最常見的原因是沒有開啓服務^_^)

     開啓服務後再連接,還是失敗。突然又意思到:好像沒有允許遠程連接,於是打開“外圍應用配置器”—“服務和連接的外圍應用配置器”—“DATABASE ENGINE”—“遠程連接”,選擇了"同時使用TCP/IP和named pipes",確定,重啓服務,在連接,還是失敗...

     以往連接不上sqlserver,來到這步都可以解決了,但是現在是什麼問題呢?難道 192.168.1.100不是我自己的IP?馬上"cmd"-"ipconfig",發現自己IP正是192.168.1.100,然後打開“SQL SERVER Configuration Manager”—"SQL SERVER 2005的網絡配置"—“DAOYONG的協議”(DAOYONG是我SQLSERVER實例名稱),右擊“TCP/IP”協議,選擇“屬性”,並進入“IP地址”tab,檢查有沒有問題。

      發現沒有填寫IP,於是把IP1一欄填寫起來,並在“已啓用”一欄選“是”,順便將IP2的“已啓用”選擇“否”,確定,重啓服務。重新連接的時候還是連接不上!!煩吶,於是上網google了一下,有的人說是要打補丁,我用windows驗證連接進入,運行了一下"select @@version",得出的版本是9.0.xxx,跟網上描述的要打補丁的情況有很大不同,應該不是補丁引起的問題。無意中開到一個網友說把防火牆關掉!我恍然大悟:防火牆屏蔽了1433端口!! 於是關掉了防火牆。但意外的是,還是連接不上。

    說到端口,我想:是不是端口有問題?於是"cmd"—“netstat -a -n ”查看一下,但竟然沒有發現有監聽1433端口,怪不得連接不上。但是爲什麼沒有監聽到1433端口呢?我明明在IP1裏面設置了TCP端口爲1433,這是經過一輪google,又看到一個網友提到:把IPALL設置成1433。於是照辦,竟然行了!!很奇怪,於是又google了一下,找到的答案是:http://support.microsoft.com/kb/265808,大概意思就是:,如果在“TCP/IP屬性”中的“協議”中將“全部偵聽”選擇爲"是",則可以爲所有TCP/IP連接指定默認的端口(端口號爲“IPALL”欄中的端口號),如果“全部偵聽”選擇爲"否"則可爲不同IP獨立設置端口號。

 

 

總結:

SQL SERVER出現無法連接(或無法通過IP進行連接),多數是一下幾種原因:

1.服務沒有開放

2.防火牆屏蔽了端口(通常是1433端口)

3.沒有允許遠程訪問。在外配應用配置器中設置“允許遠程訪問”

4.TCP/IP協議中,基於TCP/IP遠程連接的IP選項設置不正確(通常是填錯IP,或者填對但沒有啓用)

5.(如我現在碰到的問題)選擇了”全部偵聽“,但沒有設置到"IPALL"的TCP端口號。

 
題外話:一般搞IT的遇到問題,在網絡上搜索幾乎都能找到解決辦法(可憐的google被間歇性封鎖後,俺只能時常使用bing了)

發佈了64 篇原創文章 · 獲贊 13 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章