今天在配置金石工程項(xiàng)目管理網(wǎng)絡(luò)版的時(shí)候,要配置數(shù)據(jù)庫(kù)連接,我機(jī)器上環(huán)境是winxp+sql server2005,于是填入sqlserver的連接URL:\\192.168.1.100:1433,按下一步的時(shí)候卻提示不能連接到數(shù)據(jù)庫(kù)。愣了一下,意識(shí)到sqlserver服務(wù)沒(méi)有開(kāi)(因?yàn)槠綍r(shí)不是一直使用sqlserver,所以都會(huì)把sqlserver相關(guān)幾個(gè)服務(wù)禁用掉以節(jié)省資源,同是在這里提醒一下:很多時(shí)候連接不上sql server,最常見(jiàn)的原因是沒(méi)有開(kāi)啟服務(wù)^_^)
開(kāi)啟服務(wù)后再連接,還是失敗。突然又意思到:好像沒(méi)有允許遠(yuǎn)程連接,于是打開(kāi)“外圍應(yīng)用配置器”—“服務(wù)和連接的外圍應(yīng)用配置器”—“DATABASE ENGINE”—“遠(yuǎn)程連接”,選擇了"同時(shí)使用TCP/IP和named pipes",確定,重啟服務(wù),在連接,還是失敗...
以往連接不上sqlserver,來(lái)到這步都可以解決了,但是現(xiàn)在是什么問(wèn)題呢?難道 192.168.1.100不是我自己的IP?馬上"cmd"-"ipconfig",發(fā)現(xiàn)自己IP正是192.168.1.100,然后打開(kāi)“SQL SERVER Configuration Manager”—"SQL SERVER 2005的網(wǎng)絡(luò)配置"—“DAOYONG的協(xié)議”(DAOYONG是我SQLSERVER實(shí)例名稱),右擊“TCP/IP”協(xié)議,選擇“屬性”,并進(jìn)入“IP地址”tab,檢查有沒(méi)有問(wèn)題。
發(fā)現(xiàn)沒(méi)有填寫IP,于是把IP1一欄填寫起來(lái),并在“已啟用”一欄選“是”,順便將IP2的“已啟用”選擇“否”,確定,重啟服務(wù)。重新連接的時(shí)候還是連接不上??!煩吶,于是上網(wǎng)google了一下,有的人說(shuō)是要打補(bǔ)丁,我用windows驗(yàn)證連接進(jìn)入,運(yùn)行了一下"select @@version",得出的版本是9.0.xxx,跟網(wǎng)上描述的要打補(bǔ)丁的情況有很大不同,應(yīng)該不是補(bǔ)丁引起的問(wèn)題。無(wú)意中開(kāi)到一個(gè)網(wǎng)友說(shuō)把防火墻關(guān)掉!我恍然大悟:防火墻屏蔽了1433端口!! 于是關(guān)掉了防火墻。但意外的是,還是連接不上。
說(shuō)到端口,我想:是不是端口有問(wèn)題?于是"cmd"—“netstat -a -n ”查看一下,但竟然沒(méi)有發(fā)現(xiàn)有監(jiān)聽(tīng)1433端口,怪不得連接不上。但是為什么沒(méi)有監(jiān)聽(tīng)到1433端口呢?我明明在IP1里面設(shè)置了TCP端口為1433,這是經(jīng)過(guò)一輪google,又看到一個(gè)網(wǎng)友提到:把IPALL設(shè)置成1433。于是照辦,竟然行了?。『芷婀?,于是又google了一下,找到的答案是:http://support.microsoft.com/kb/265808,大概意思就是:,如果在“TCP/IP屬性”中的“協(xié)議”中將“全部偵聽(tīng)”選擇為"是",則可以為所有TCP/IP連接指定默認(rèn)的端口(端口號(hào)為“IPALL”欄中的端口號(hào)),如果“全部偵聽(tīng)”選擇為"否"則可為不同IP獨(dú)立設(shè)置端口號(hào)。
總結(jié):
SQL SERVER出現(xiàn)無(wú)法連接(或無(wú)法通過(guò)IP進(jìn)行連接),多數(shù)是一下幾種原因:
1.服務(wù)沒(méi)有開(kāi)放
2.防火墻屏蔽了端口(通常是1433端口)
3.沒(méi)有允許遠(yuǎn)程訪問(wèn)。在外配應(yīng)用配置器中設(shè)置“允許遠(yuǎn)程訪問(wèn)”
4.TCP/IP協(xié)議中,基于TCP/IP遠(yuǎn)程連接的IP選項(xiàng)設(shè)置不正確(通常是填錯(cuò)IP,或者填對(duì)但沒(méi)有啟用)
5.(如我現(xiàn)在碰到的問(wèn)題)選擇了”全部偵聽(tīng)“,但沒(méi)有設(shè)置到"IPALL"的TCP端口號(hào)。
題外話:一般搞IT的遇到問(wèn)題,在網(wǎng)絡(luò)上搜索幾乎都能找到解決辦法(可憐的google被間歇性封鎖后,俺只能時(shí)常使用bing了)
聯(lián)系客服