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]
一、先保證ping通
二、在dos下寫入telnet ip 1433不會報錯 三、用ip連如企業管理器: 企業管理器-->右鍵SQlserver組-->新建sqlserver註冊-->下一步-->寫入遠程實例名(IP,機器名)-->下一步-->選Sqlserver登錄-->下一步-->寫入登錄名與密碼(sa,pass)-->下一步-->下一步-->完成 四、若是還不行: sqlserver服務器-->開始菜單-->SQLserver-->服務器網絡實用工具-->啓用 WinSock代理-->代理地址:(sqlserver服務器IP)-->代理端口-->1433-->OK了 五、若是還不行: 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端口竟然未開放,固然更不用說遠程鏈接了。
通常分析的都是這樣:
一、sql server服務沒有啓動;
檢查服務啓動,從新啓動服務故障依然。
二、修改了端口號;
打開網絡實用工具,檢查啓用的協議中有TCP/IP協議,查看端口,是1433沒錯。
三、客戶端實用工具做了改動;
打開客戶端實用工具,檢查協議端口正常,從新建立一個別名,依然不行。
四、安裝的問題;
懷疑安裝步驟有問題。遂卸載重裝,一切默認,故障依然。
五、安裝版本的問題;
查看安裝光盤,是久經考驗的安裝盤,應該不會出問題。
六、系統的問題;
也看不出有什麼其它的問題,難道是系統的問題?不太重裝系統可太過麻煩,仍是先想一想其它的辦法,看能不能找到問題所在。檢查系統日誌,這個應該是一個比較好的習慣。仔細翻了一遍從新安裝後的日誌,赫然發現以下內容:您運行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也稱爲 MSDE) 和 Microsoft Windows Server 2003 家族使用時存在已知的安全弱點。爲了減小計算機被某些病毒的***,Microsoft SQL Server 2000,MSDE 或 二者的 TCP/IP 和 UDP 網絡端口被禁用。要啓用這些端口,您必須從
[url]www.microsoft.com/sql/downloads/default.asp[/url]或
[url]www.microsoft.com/china/sql/downloads/default.asp[/url]安裝一個修補程序, 或 Microsoft SQL Server 2000 或 MSDE 的最新服務包。
有關更多信息,請參閱在 go.microsoft.com/fwlink/events.asp 的幫助和支持
終於找到問題了,原來是Windows的一個小小的安全考慮。那麼爲何之前就沒遇到過呢,原來搞慣安全的人,安裝好sql之後,在使用前必定會先修補漏洞,因此一直未注意過這個問題。看來什麼樣的習慣都會有一些弊端! 既然找到問題就簡單了,馬上到微軟網站: [url]http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5[/url]
下載SP4的「數據庫組件(下載文件:SQL2000-KB884525-SP4-x86.EXE)」
安裝SQL Server SP4後,瀏覽器地址欄測試 [url]www.ITstudy.cn[/url]一切正常。
附:
遠程鏈接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,所以在本地能連通是不能說明什麼問題的,鏈接遠程服務器是徹底不一樣的協議)。
|