SQLserver2000〔Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或訪問被拒絕

來源:互聯網
上載者:User

SQLserver2000,開啟服務管理員時出現錯誤:〔Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或訪問被拒絕"

 

 

[I]

(一台機器即作伺服器又作客戶機,軟體串連中出現: 
[DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒絕訪問。 
現從網上查閱問題解決辦法有如下幾種: 
(A)1:你如果是獨立上網的請把21連接埠開啟.區域網路把1433連接埠開啟就可以了. 
2;關閉防火牆! 
(B)把資料庫連接的 SqlLocalName="(local)" 的(local) 改成 IP試試。可以把(local) 該成127.0.0.1,或者改成外網IP 
(C)開啟服務,暫停全文檢索索引及sql server服務 開啟sql server服務 再開啟全文檢索索引服務 
(D)SQL Server 右鍵屬性==>安全選項中的“擁有權鏈結接:”“允許跨資料庫擁有權鏈結”前面的勾要勾上(此操作需要重起SQL Server)。 

[II]

  1、先保證ping通   
    
  2、在dos下寫入telnet   ip   1433不會報錯   
    
  3、用ip連如企業管理器:   
  企業管理器-->右鍵SQlserver組-->建立sqlserver註冊-->下一步-->寫入遠程執行個體名(IP,機器名)-->下一步-->選Sqlserver登陸-->下一步-->寫入登陸名與密碼(sa,pass)-->下一步-->下一步-->完成   
    
  4、如果還不行:   
  sqlserver伺服器-->開始菜單-->SQLserver-->伺服器網路工具 + 生產力-->啟用   WinSock代理-->Proxy 位址:(sqlserver伺服器IP)-->代理連接埠-->1433-->OK了   
    
  5、如果還不行:   
  sqlserver用戶端-->開始菜單-->SQLserver-->用戶端網路工具 + 生產力-->別名-->添加-->寫入別名如"大力"-->"網路程式庫"選tcp/ip-->伺服器名稱寫入遠程ip或執行個體名-->OK了

[III]

  選中Microsoft   SQL   Servers-->工具列,工具-->選項-->進階-->查詢逾時-->改為0

別人告訴我在c:\winnt\system32\driver\etc\下的hosts檔案中加入   
  ip     computername就可以了,我試了也的確可以了,我百思不得其改,   
  為什麼要那樣呢,sqlserver7.0都不要那樣呀,為什麼sqlserver2000   
  要這樣呀   
    
  效果就相當於如下操作:   
    
  sqlserver用戶端-->開始菜單-->SQLserver-->用戶端網路工具 + 生產力-->別名-->添加-->寫入別名如"大力"-->"網路程式庫"選tcp/ip-->伺服器名稱寫入遠程ip或執行個體名-->OK了

[IV]

摘要:這篇文章主要針對Win2003系統安裝SQL Sever2000後1433連接埠未開放,如何開啟1433連接埠的解決方案。

用了幾年的Windows2003和SQL Server2000了,不過這個問題倒是頭次遇到。最近調試一個JSP+SQL2000WEB程式遇到個現象,在Win2003簡體中文伺服器版上安裝SQL Server2000,預設安裝,一切正常,但是在安裝完成後Tomcat運行正常,JSP程式卻無法串連SQL2000資料庫,查看連接埠,1433連接埠居然未開放,當然更不用說遠端連線了。

一般分析的都是這樣:

1、sql server服務沒有啟動;

檢查服務啟動,重新啟動服務故障依然。

2、修改了連接埠號碼;

開啟網路工具 + 生產力,檢查啟用的協議中有TCP/IP協議,查看連接埠,是1433沒錯。

3、用戶端工具 + 生產力作了改動;

開啟用戶端工具 + 生產力,檢查協議連接埠正常,重新建立一個別名,依然不行。

4、安裝的問題;

懷疑安裝步驟有問題。遂卸載重裝,一切預設,故障依然。

5、安裝版本的問題;

查看安裝光碟片,是久經考驗的安裝盤,應該不會出問題。

6、系統的問題;

也看不出有什麼其它的問題,難道是系統的問題?不過重裝系統可太過麻煩,還是先想想其它的辦法,看能不能找到問題所在。檢查系統日誌,這個應該是一個比較好的習慣。仔細翻了一遍重新安裝後的日誌,赫然發現如下內容:您啟動並執行 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也稱為 MSDE) 和  
Microsoft Windows Server 2003 家族使用時存在已知的安全弱點。為了減少電腦被某些病毒的攻擊,Microsoft SQL Server 2000,MSDE 或 兩者的 TCP/IP 和 UDP 網路連接埠被禁用。要啟用這些連接埠,您必須從 www.microsoft.com/sql/downloads/default.asp或www.microsoft.com/china/sql/downloads/default.asp安裝一個Hotfix, 或 Microsoft SQL Server 2000 或 MSDE 的最新服務包。  

有關更多資訊,請參閱在 go.microsoft.com/fwlink/events.asp 的協助和支援  
終於找到問題了,原來是Windows的一個小小的安全考慮。那麼為什麼以前就沒遇到過呢,原來搞慣安全的人,安 
裝好sql以後,在使用前一定會先修補漏洞,所以一直未注意過這個問題。看來什麼樣的習慣都會有一些弊端!  
既然找到問題就簡單了,立刻到微軟網站:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5 

下載SP4的“資料庫組件(下載檔案:SQL2000-KB884525-SP4-x86.EXE)” 
安裝SQL Server SP4後,瀏覽器地址欄測試www.ITstudy.cn一切正常。 
  

附:  
遠端連線sql server 2000伺服器的解決方案  

解決方案步驟:  
一 看ping 伺服器IP能否ping通。  
這個實際上是看和遠程sql server 2000伺服器的物理串連是否存在。如果不行,請檢查網路,查看配置,當然得 
確保遠程sql server 2000伺服器的IP拼字正確。  
二 在Dos或命令列下輸入telnet 伺服器IP 連接埠,看能否連通。  
如telnet 202.114.100.100 1433  
通常連接埠值是1433,因為1433是sql server 2000的對於Tcp/IP的預設偵聽連接埠。如果有問題,通常這一步會出問 
題。通常的提示是“……無法開啟串連,串連失敗"。  
如果這一步有問題,應該檢查以下選項。  
1 檢查遠程伺服器是否啟動了sql server 2000服務。如果沒有,則啟動。  
2 檢查伺服器端有沒啟用Tcp/IP協議,因為遠端連線(通過網際網路)需要靠這個協議。檢查方法是,在伺服器上 
開啟開始菜單->程式->Microsoft SQL Server->伺服器網路工具 + 生產力,看啟用的協議裡是否有tcp/ip協議,如果 
沒有,則啟用它。  
3 檢查伺服器的tcp/ip連接埠是否配置為1433連接埠。仍然在伺服器網路工具 + 生產力裡查看啟用協議裡面的tcp/ip的屬 
性,確保預設連接埠為1433,並且隱藏伺服器複選框沒有勾上。  
事實上,如果預設連接埠被修改,也是可以的,但是在用戶端做telnet測試時,寫伺服器連接埠號碼時必須與伺服器配 
置的連接埠號碼保持一致。如果隱藏伺服器複選框被勾選,則意味著用戶端無法通過枚舉伺服器來看到這台伺服器, 
起到了保護的作用,但不影響串連,但是Tcp/ip協議的預設連接埠將被隱式修改為2433,在用戶端串連時必須作相 
應的改變。  
4 如果伺服器端作業系統打過sp2補丁,則要對windows防火牆作一定的配置,要對它開放1433連接埠,通常在測試 
時可以直接關掉windows防火牆(其他的防火牆也關掉最好)。  
5 檢查伺服器是否在1433連接埠偵聽。如果伺服器沒有在tcp串連的1433連接埠偵聽,則是串連不上的。檢查方法是在 
伺服器的dos或命令列下面輸入 netstat -a -n 或者是netstat -an,在結果清單裡看是否有類似 tcp 127.0.0.1  
1433 listening 的項。如果沒有,則通常需要給sql server 2000打上至少sp3的補丁。其實在伺服器端啟動查詢 
分析器,輸入 select @@version 執行後可以看到版本號碼,版本號碼在8.0.2039以下的都需要打補丁。  
如果以上都沒問題,這時你再做telnet 伺服器ip 1433 測試,將會看到螢幕一閃之後游標在左上方不停閃動。恭 
喜你,你馬上可以開始在企業管理器或查詢分析器串連了。  

三 檢查用戶端設定  
程式->Microsoft SQL Server-> 用戶端網路使用工具。像在伺服器網路工具 + 生產力裡一樣,確保用戶端tcp/ip協議 
啟用,並且預設連接埠為1433(或其他連接埠,與伺服器端保持一致就行)。  

四 在企業管理器裡或查詢分析器串連測試  
企業管理器->右鍵SQlserver組->建立sqlserver註冊->下一步->寫入遠程IP->下一步-> 選Sqlserver登陸->下一 
步->寫入登陸名與密碼(sa,password)->下一步->下一步->完成  
查詢分析器->檔案->串連->寫入遠程IP->寫入登入名稱和密碼(sa,password)->確定  
通常建議在查詢分析器裡做,因為預設情況下,通過企業管理器註冊另外一台SQL Server的逾時設定是4秒,而查 
詢分析器是15秒。  
修改預設連線逾時的方法:  
企業管理器->工具->選項->在彈出的"SQL Server企業管理器屬性"視窗中,點擊"進階"選項卡->串連設定->在 登 
錄逾時(秒) 後面的框裡輸入一個較大的數字  
查詢分析器->工具->選項->串連->在 登入逾時(秒) 後面的框裡輸入一個較大的數字  
通常就可以連通了,如果提示錯誤,則進入下一步。  
五 錯誤產生的原因通常是由於SQL Server使用了"僅 Windows"的身分識別驗證方式,因此使用者無法使用SQL Server的 
登入帳戶(如 sa )進行串連。解決方案如下所示:  
 1 在伺服器端使用企業管理器,並且選擇"使用 Windows 身分識別驗證"串連上 SQL Server。  
  2 展開"SQL Server組",滑鼠右鍵點擊SQL Server伺服器的名稱,選擇"屬性",再選擇"安全性"選項卡。  
  3 在"身分識別驗證"下,選擇"SQL Server和 Windows "。  
  4 重新啟動SQL Server服務。(在dos或命令列下面net stop mssqlserver停止服務,net start  
mssqlserver啟動服務,也是一種快捷的方法)。  

註:在串連本機伺服器時,通常使用的是具名管道協議(在伺服器網路工具 + 生產力裡可以看到啟用的協議有這個) 
,預設連接埠是445,因此在本地能連通是不能說明什麼問題的,串連遠程伺服器是完全不同的協議)。 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.