某企業(yè)正常使用的一套C/S模式進銷存系統(tǒng),新增加的一臺客戶機在連接數(shù)據(jù)庫服務器(安裝SQL Server 2000)時出現(xiàn)故障提示—“[DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒絕訪問”,系統(tǒng)無法登錄,其它的客戶機工作正常。
2 解決過程及思路
對于這種故障提示,一般資料上對此故障介紹的解決辦法是檢查客戶機上防火墻和1433端口的設置。出現(xiàn)故障的客戶機上安裝的是卡巴斯基6.0互聯(lián)網(wǎng)安全套裝,在卡巴斯基的“網(wǎng)絡設置”中添加1433端口后,出現(xiàn)的故障提示變?yōu)?#8220;一般性網(wǎng)絡錯誤 (recv())”,造成后面這種故障提示信息的原因很多,不易確定。為此,比較正常工作的客戶機和出現(xiàn)故障的客戶機的SQL SERVER客戶端設置,發(fā)現(xiàn)工作正常的客戶機使用“Named pipes”為優(yōu)先使用的協(xié)議,使用服務器的名稱來連接數(shù)據(jù)庫服務器,出現(xiàn)故障的客戶機使用“tcp/ip”為優(yōu)先啟用的協(xié)議,使用服務器的IP地址來連接數(shù)據(jù)庫服務器,默認端口為1433,在出現(xiàn)故障的客戶機上把 “Named pipes”設置為優(yōu)先啟用的協(xié)議,使用服務器的名稱來連接數(shù)據(jù)庫服務器則連接正常,可以正常運行。由此確定故障與TCP/IP協(xié)議有關,在服務器(Windows 2000 SERVER SP4+SQL Server 2000,IP地址為10.140.90.249)上運行netstat –an命令,結(jié)果如下:
以下為引用的內(nèi)容: Active Connections Proto Local Address Foreign Address State …… TCP 10.140.90.249:80 10.140.90.52:2519 TIME_WAIT TCP 10.140.90.249:80 10.140.90.52:2523 TIME_WAIT TCP 10.140.90.249:80 10.140.90.52:2525 TIME_WAIT TCP 10.140.90.249:80 10.140.90.52:2527 TIME_WAIT TCP 10.140.90.249:80 10.140.90.52:2529 ESTABLISHED TCP 10.140.90.249:80 10.140.90.52:2531 ESTABLISHED TCP 10.140.90.249:139 0.0.0.0:0 LISTENING TCP 10.140.90.249:1051 10.140.90.249:2161 ESTABLISHED TCP 10.140.90.249:2161 10.140.90.249:1051 ESTABLISHED …… |
SELECT @@VERSION
返回值為“8.00.194 RTM”,該值為SQL Server 2000的原始版本,進一步詢問管理員,得知在安裝SP4時沒有停止服務器上的SQL Server服務,而SQL Server 2000 SP4明確要求安裝時要停止服務器上的SQL Server服務和所有客戶端程序后才能安裝,由此判斷服務器上的SQL Server 2000 SP4沒有安裝成功。SQL Server 2000版本和版本號關系可以在網(wǎng)上查到。
重新在服務器上安裝SQL Server 2000 SP4,出現(xiàn)提示“以前進行的程序安裝創(chuàng)建了掛起的文件操作。運行程序之前,必須重新啟動計算機。”表明以前的SP4沒有安裝成功,重新啟動服務器,這個提示繼續(xù)出現(xiàn),啟動注冊表編輯器,來到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager分支,刪除PendingFileRenameOperations項目,然后重新安裝SQL Server 2000 SP4成功。再在服務器上執(zhí)行netstat –an命令,1433端口赫然在列,處于“LISTENING”狀態(tài),把出現(xiàn)故障的客戶機設置為TCP/IP連接方式,啟動程序,連接順利完成,錯誤信息不再出現(xiàn)。
3 結(jié)束語
現(xiàn)在的軟件系統(tǒng)越來越復雜,牽扯的系統(tǒng)也越來越多,排除故障時不能被故障的表面現(xiàn)象所迷惑,要順藤摸瓜,逐步分析排除,到有關軟件系統(tǒng)的論壇和官方網(wǎng)站了解相關產(chǎn)品的信息,尤其是補丁信息,在排除故障時才能事半功倍,少走彎路。
這種故障在單機狀態(tài)時也會出現(xiàn),一般是SQL SERVER的客戶端TCP/IP設置為優(yōu)先啟用的協(xié)議,使用IP地址連接SQL SERVER,網(wǎng)線物理連接有問題或者IP地址設置有問題時。