SQL Server不存在或拒絕訪問故障的排除
1 問題的提出
某企業正常使用的一套C/S模式進銷存系統,新增加的一臺客戶機在連線資料庫伺服器(安裝SQL Server 2000)時出現故障提示—“[DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒絕訪問”,系統無法登入,其它的客戶機工作正常。
2 解決過程及思路
對於這種故障提示,一般資料上對此故障介紹的解決辦法是檢查客戶機上防火牆和1433埠的設定。出現故障的客戶機上安裝的是卡巴斯基6.0網際網路安全套裝,在卡巴斯基的“網路設定”中新增1433埠後,出現的故障提示變為“一般性網路錯誤 (recv())”,造成後面這種故障提示資訊的原因很多,不易確定。為此,比較正常工作的客戶機和出現故障的客戶機的SQL SERVER客戶端設定,發現工作正常的客戶機使用“Named pipes”為優先使用的協議,使用伺服器的名稱來連線資料庫伺服器,出現故障的客戶機使用“tcp/ip”為優先啟用的協議,使用伺服器的IP地址來連線資料庫伺服器,預設埠為1433,在出現故障的客戶機上把 “Named pipes”設定為優先啟用的協議,使用伺服器的名稱來連線資料庫伺服器則連線正常,可以正常執行。由此確定故障與TCP/IP協議有關,在伺服器(Windows 2000 SERVER SP4+SQL Server 2000,IP地址為10.140.90.249)上執行netstat –an命令,結果如下:
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
……
從上述的內容可以看出,伺服器上TCP/IP協議中沒有開啟監聽1433埠,在網上搜尋關於SQL Server和1433埠有關資訊,發現SQL Server 7.0是預設開啟1433埠,而SQL Server 2000在SP4以前是預設關閉1433埠的,詢問管理員,伺服器上曾安裝過SQL Server 2000的SP4補丁,由於SQL Server 2000的版本號不顯示在“關於”中,於是進入“查詢分析器”檢查SQL Server 2000的版本號,在“查詢分析器”中執行:
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版本和版本號關係可以在網上查到。
重新在伺服器上安裝SQL Server 2000 SP4,出現提示“以前進行的程式安裝建立了掛起的檔案操作。執行程式之前,必須重新啟動計算機。”表明以前的SP4沒有安裝成功,重新啟動伺服器,這個提示繼續出現,啟動登錄檔編輯器,來到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager分支,刪除PendingFileRenameOperations專案,然後重新安裝SQL Server 2000 SP4成功。再在伺服器上執行netstat –an命令,1433埠赫然在列,處於“LISTENING”狀態,把出現故障的客戶機設定為TCP/IP連線方式,啟動程式,連線順利完成,錯誤資訊不再出現。
3 結束語
現在的軟體系統越來越複雜,牽扯的系統也越來越多,排除故障時不能被故障的表面現象所迷惑,要順藤摸瓜,逐步分析排除,到有關軟體系統的論壇和官方網站了解相關產品的資訊,尤其是補丁資訊,在排除故障時才能事半功倍,少走彎路。
這種故障在單機狀態時也會出現,一般是SQL SERVER的客戶端TCP/IP設定為優先啟用的協議,使用IP地址連線SQL SERVER,網線物理連線有問題或者IP地址設定有問題時。
某企業正常使用的一套C/S模式進銷存系統,新增加的一臺客戶機在連線資料庫伺服器(安裝SQL Server 2000)時出現故障提示—“[DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒絕訪問”,系統無法登入,其它的客戶機工作正常。
2 解決過程及思路
對於這種故障提示,一般資料上對此故障介紹的解決辦法是檢查客戶機上防火牆和1433埠的設定。出現故障的客戶機上安裝的是卡巴斯基6.0網際網路安全套裝,在卡巴斯基的“網路設定”中新增1433埠後,出現的故障提示變為“一般性網路錯誤 (recv())”,造成後面這種故障提示資訊的原因很多,不易確定。為此,比較正常工作的客戶機和出現故障的客戶機的SQL SERVER客戶端設定,發現工作正常的客戶機使用“Named pipes”為優先使用的協議,使用伺服器的名稱來連線資料庫伺服器,出現故障的客戶機使用“tcp/ip”為優先啟用的協議,使用伺服器的IP地址來連線資料庫伺服器,預設埠為1433,在出現故障的客戶機上把 “Named pipes”設定為優先啟用的協議,使用伺服器的名稱來連線資料庫伺服器則連線正常,可以正常執行。由此確定故障與TCP/IP協議有關,在伺服器(Windows 2000 SERVER SP4+SQL Server 2000,IP地址為10.140.90.249)上執行netstat –an命令,結果如下:
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
……
從上述的內容可以看出,伺服器上TCP/IP協議中沒有開啟監聽1433埠,在網上搜尋關於SQL Server和1433埠有關資訊,發現SQL Server 7.0是預設開啟1433埠,而SQL Server 2000在SP4以前是預設關閉1433埠的,詢問管理員,伺服器上曾安裝過SQL Server 2000的SP4補丁,由於SQL Server 2000的版本號不顯示在“關於”中,於是進入“查詢分析器”檢查SQL Server 2000的版本號,在“查詢分析器”中執行:
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版本和版本號關係可以在網上查到。
重新在伺服器上安裝SQL Server 2000 SP4,出現提示“以前進行的程式安裝建立了掛起的檔案操作。執行程式之前,必須重新啟動計算機。”表明以前的SP4沒有安裝成功,重新啟動伺服器,這個提示繼續出現,啟動登錄檔編輯器,來到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager分支,刪除PendingFileRenameOperations專案,然後重新安裝SQL Server 2000 SP4成功。再在伺服器上執行netstat –an命令,1433埠赫然在列,處於“LISTENING”狀態,把出現故障的客戶機設定為TCP/IP連線方式,啟動程式,連線順利完成,錯誤資訊不再出現。
3 結束語
現在的軟體系統越來越複雜,牽扯的系統也越來越多,排除故障時不能被故障的表面現象所迷惑,要順藤摸瓜,逐步分析排除,到有關軟體系統的論壇和官方網站了解相關產品的資訊,尤其是補丁資訊,在排除故障時才能事半功倍,少走彎路。
這種故障在單機狀態時也會出現,一般是SQL SERVER的客戶端TCP/IP設定為優先啟用的協議,使用IP地址連線SQL SERVER,網線物理連線有問題或者IP地址設定有問題時。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-553573/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- “SQLServer 不存在或訪問被拒絕”的解決辦法SQLServer
- SQL Server 複製故障排除SQLServer
- SQL Server 備份 出現作業系統錯誤 5(拒絕訪問。)SQLServer作業系統
- PhpMyAdmin訪問被拒絕PHP
- localhost拒絕訪問的解決方法localhost
- 印表機拒絕訪問是什麼問題 win10共享印表機拒絕訪問Win10
- win10開機拒絕訪問怎麼辦 win10開機拒絕訪問的方法Win10
- win10印表機為什麼拒絕訪問 win10印表機拒絕訪問的方法Win10
- 針對通過 SSH 連線到 Azure Linux VM 時發生的失敗、錯誤或被拒絕問題進行故障排除...Linux
- win10開機拒絕訪問怎麼解決 電腦開機進不了桌面拒絕訪問Win10
- 行動硬碟拒絕訪問找回辦法硬碟
- win10服務拒絕訪問如何解決_win10伺服器拒絕訪問的解決步驟Win10伺服器
- win10訪問win7印表機拒絕訪問怎麼辦 win10訪問win7上的印表機拒絕訪問處理方法Win10Win7
- Linux 拒絕國外 IP 訪問的步驟Linux
- 資料夾拒絕訪問的原因與破解之道
- Linux 常見問題 - 拒絕遠端訪問Linux
- ora-24247 :網路訪問被訪問控制列表(ACL)拒絕
- 關於jsp拒絕訪問的問題,謝謝大家JS
- 作業系統錯誤5:拒絕訪問作業系統
- 進入 phpMyAdmin 頁面訪問被拒絕PHP
- 教你解決行動硬碟提示拒絕訪問的方法硬碟
- "System.Security.Cryptography.CryptographicException: 拒絕訪問" 問題的解決方法Exception
- win10字型資料夾拒絕訪問怎麼辦_win10字型資料夾拒絕訪問的修復步驟Win10
- ELK實驗中 顯示連線拒絕訪問
- win10系統中檔案拒絕訪問怎麼回事 win10系統檔案拒絕訪問的解決步驟Win10
- 資料夾拒絕訪問的原因與解決辦法
- win10系統管理員賬戶拒絕訪問怎麼辦?win10系統administrator拒絕訪問的解決方法Win10
- 訪問統計(排除爬蟲訪問)爬蟲
- "開啟方式"--"選擇程式" 被拒絕訪問 的解決方法!
- SQL Server建立Linked Server訪問OracleSQLServerOracle
- 從Oracle訪問SQL Server(GATEWAYS)OracleSQLServerGateway
- Win XP重灌後原資料夾拒絕訪問的解決方法
- ORA-00022: 無效的會話 ID; 訪問被拒絕會話
- win10目標資料夾訪問被拒絕怎麼辦_win10目標資料夾訪問被拒絕怎麼解決Win10
- gitbash的gitconfig檔案修改時提示拒絕訪問的解決Git
- ASP.NET 訪問資料夾許可權不足,System.UnauthorizedAccessException拒絕訪問的處理方法ASP.NETZedException
- win10 程式不能結束訪問被拒絕怎麼辦Win10
- Windows Time服務無法啟動 錯誤5拒絕訪問Windows