SQL Server不存在或訪(fǎng)問(wèn)被拒絕 1433端口未開(kāi)放
SQLserver2000,打開(kāi)服務(wù)管理器時(shí)出現錯誤:〔Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或訪(fǎng)問(wèn)被拒絕"
[I]
(一臺機器即作服務(wù)器又作客戶(hù)機,軟件連接中出現:
[DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒絕訪(fǎng)問(wèn)。
現從網(wǎng)上查閱問(wèn)題解決辦法有如下幾種:
(A)1:你如果是獨立上網(wǎng)的請把21端口打開(kāi).局域網(wǎng)把1433端口打開(kāi)就可以了.
2;關(guān)閉防火墻!
(B)把數據庫連接的 SqlLocalName="(local)" 的(local) 改成 IP試試??梢园?local) 該成127.0.0.1,或者改成外網(wǎng)IP
(C)打開(kāi)服務(wù),暫停全文檢索及sql server服務(wù) 開(kāi)啟sql server服務(wù) 再開(kāi)啟全文檢索服務(wù)
(D)SQL Server 右鍵屬性==>安全選項中的“所有權鏈接:”“允許跨數據庫所有權鏈接”前面的勾要勾上(此操作需要重起SQL Server)。
[II]
1、先保證ping通
2、在dos下寫(xiě)入telnet ip 1433不會(huì )報錯
3、用ip連如企業(yè)管理器:
企業(yè)管理器–>右鍵SQlserver組–>新建sqlserver注冊–>下一步–>寫(xiě)入遠程實(shí)例名(IP,機器名)–>下一步–>選Sqlserver登陸–>下一步–>寫(xiě)入登陸名與密碼(sa,pass)–>下一步–>下一步–>完成
4、如果還不行:
sqlserver服務(wù)器–>開(kāi)始菜單–>SQLserver–>服務(wù)器網(wǎng)絡(luò )實(shí)用工具–>啟用 WinSock代理–>代理地址:(sqlserver服務(wù)器IP)–>代理端口–>1433–>OK了
5、如果還不行:
sqlserver客戶(hù)端–>開(kāi)始菜單–>SQLserver–>客戶(hù)端網(wǎng)絡(luò )實(shí)用工具–>別名–>添加–>寫(xiě)入別名如"大力"–>"網(wǎng)絡(luò )庫"選tcp/ip–>服務(wù)器名稱(chēng)寫(xiě)入遠程ip或實(shí)例名–>OK了
[III]
選中Microsoft SQL Servers–>工具欄,工具–>選項–>高級–>查詢(xún)超時(shí)–>改為0
別人告訴我在c:\winnt\system32\driver\etc\下的hosts文件中加入
ip computername就可以了,我試了也的確可以了,我百思不得其改,
為什麼要那樣呢,sqlserver7.0都不要那樣呀,為什麼sqlserver2000
要這樣呀
效果就相當于如下操作:
sqlserver客戶(hù)端–>開(kāi)始菜單–>SQLserver–>客戶(hù)端網(wǎng)絡(luò )實(shí)用工具–>別名–>添加–>寫(xiě)入別名如"大力"–>"網(wǎng)絡(luò )庫"選tcp/ip–>服務(wù)器名稱(chēng)寫(xiě)入遠程ip或實(shí)例名–>OK了
[IV]
摘要:這篇文章主要針對Win2003系統安裝SQL Sever2000后1433端口未開(kāi)放,如何打開(kāi)1433端口的解決方法。
用了幾年的Windows2003和SQL Server2000了,不過(guò)這個(gè)問(wèn)題倒是頭次遇到。最近調試一個(gè)JSP+SQL2000WEB程序遇到個(gè)現象,在Win2003簡(jiǎn)體中文服務(wù)器版上安裝SQL Server2000,默認安裝,一切正常,但是在安裝完成后Tomcat運行正常,JSP程序卻無(wú)法連接SQL2000數據庫,查看端口,1433端口居然未開(kāi)放,當然更不用說(shuō)遠程連接了。
一般分析的都是這樣:
1、sql server服務(wù)沒(méi)有啟動(dòng);
檢查服務(wù)啟動(dòng),重新啟動(dòng)服務(wù)故障依然。
2、修改了端口號;
打開(kāi)網(wǎng)絡(luò )實(shí)用工具,檢查啟用的協(xié)議中有TCP/IP協(xié)議,查看端口,是1433沒(méi)錯。
3、客戶(hù)端實(shí)用工具作了改動(dòng);
打開(kāi)客戶(hù)端實(shí)用工具,檢查協(xié)議端口正常,重新創(chuàng )建一個(gè)別名,依然不行。
4、安裝的問(wèn)題;
懷疑安裝步驟有問(wèn)題。遂卸載重裝,一切默認,故障依然。
5、安裝版本的問(wèn)題;
查看安裝光盤(pán),是久經(jīng)考驗的安裝盤(pán),應該不會(huì )出問(wèn)題。
6、系統的問(wèn)題;
也看不出有什么其它的問(wèn)題,難道是系統的問(wèn)題?不過(guò)重裝系統可太過(guò)麻煩,還是先想想其它的辦法,看能不能找到問(wèn)題所在。檢查系統日志,這個(gè)應該是一個(gè)比較好的習慣。仔細翻了一遍重新安裝后的日志,赫然發(fā)現如下內容:您運行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也稱(chēng)為 MSDE) 和 有關(guān)更多信息,請參閱在 go.microsoft.com/fwlink/events.asp 的幫助和支持 下載SP4的“數據庫組件(下載文件:SQL2000-KB884525-SP4-x86.EXE)” 附: 解決方案步驟: 三 檢查客戶(hù)端設置 四 在企業(yè)管理器里或查詢(xún)分析器連接測試 注:在連接本地服務(wù)器時(shí),通常使用的是命名管道協(xié)議(在服務(wù)器網(wǎng)絡(luò )實(shí)用工具里可以看到啟用的協(xié)議有這個(gè))
Microsoft Windows Server 2003 家族使用時(shí)存在已知的安全弱點(diǎn)。為了減少計算機被某些病毒的攻擊,Microsoft SQL Server 2000,MSDE 或 兩者的 TCP/IP 和 UDP 網(wǎng)絡(luò )端口被禁用。要啟用這些端口,您必須從 www.microsoft.com/sql/downloads/default.asp或www.microsoft.com/china/sql/downloads/default.asp安裝一個(gè)修補程序, 或 Microsoft SQL Server 2000 或 MSDE 的最新服務(wù)包。
終于找到問(wèn)題了,原來(lái)是Windows的一個(gè)小小的安全考慮。那么為什么以前就沒(méi)遇到過(guò)呢,原來(lái)搞慣安全的人,安
裝好sql以后,在使用前一定會(huì )先修補漏洞,所以一直未注意過(guò)這個(gè)問(wèn)題??磥?lái)什么樣的習慣都會(huì )有一些弊端!
既然找到問(wèn)題就簡(jiǎn)單了,立刻到微軟網(wǎng)站:
安裝SQL Server SP4后,瀏覽器地址欄測試www.ITstudy.cn一切正常。
遠程連接sql server 2000服務(wù)器的解決方案
一 看ping 服務(wù)器IP能否ping通。
這個(gè)實(shí)際上是看和遠程sql server 2000服務(wù)器的物理連接是否存在。如果不行,請檢查網(wǎng)絡(luò ),查看配置,當然得
確保遠程sql server 2000服務(wù)器的IP拼寫(xiě)正確。
二 在Dos或命令行下輸入telnet 服務(wù)器IP 端口,看能否連通。
如telnet 202.114.100.100 1433
通常端口值是1433,因為1433是sql server 2000的對于Tcp/IP的默認偵聽(tīng)端口。如果有問(wèn)題,通常這一步會(huì )出問(wèn)
題。通常的提示是“……無(wú)法打開(kāi)連接,連接失敗"。
如果這一步有問(wèn)題,應該檢查以下選項。
1 檢查遠程服務(wù)器是否啟動(dòng)了sql server 2000服務(wù)。如果沒(méi)有,則啟動(dòng)。
2 檢查服務(wù)器端有沒(méi)啟用Tcp/IP協(xié)議,因為遠程連接(通過(guò)因特網(wǎng))需要靠這個(gè)協(xié)議。檢查方法是,在服務(wù)器上
打開(kāi)開(kāi)始菜單->程序->Microsoft SQL Server->服務(wù)器網(wǎng)絡(luò )實(shí)用工具,看啟用的協(xié)議里是否有tcp/ip協(xié)議,如果
沒(méi)有,則啟用它。
3 檢查服務(wù)器的tcp/ip端口是否配置為1433端口。仍然在服務(wù)器網(wǎng)絡(luò )實(shí)用工具里查看啟用協(xié)議里面的tcp/ip的屬
性,確保默認端口為1433,并且隱藏服務(wù)器復選框沒(méi)有勾上。
事實(shí)上,如果默認端口被修改,也是可以的,但是在客戶(hù)端做telnet測試時(shí),寫(xiě)服務(wù)器端口號時(shí)必須與服務(wù)器配
置的端口號保持一致。如果隱藏服務(wù)器復選框被勾選,則意味著(zhù)客戶(hù)端無(wú)法通過(guò)枚舉服務(wù)器來(lái)看到這臺服務(wù)器,
起到了保護的作用,但不影響連接,但是Tcp/ip協(xié)議的默認端口將被隱式修改為2433,在客戶(hù)端連接時(shí)必須作相
應的改變。
4 如果服務(wù)器端操作系統打過(guò)sp2補丁,則要對windows防火墻作一定的配置,要對它開(kāi)放1433端口,通常在測試
時(shí)可以直接關(guān)掉windows防火墻(其他的防火墻也關(guān)掉最好)。
5 檢查服務(wù)器是否在1433端口偵聽(tīng)。如果服務(wù)器沒(méi)有在tcp連接的1433端口偵聽(tīng),則是連接不上的。檢查方法是在
服務(wù)器的dos或命令行下面輸入 netstat -a -n 或者是netstat -an,在結果列表里看是否有類(lèi)似 tcp 127.0.0.1
1433 listening 的項。如果沒(méi)有,則通常需要給sql server 2000打上至少sp3的補丁。其實(shí)在服務(wù)器端啟動(dòng)查詢(xún)
分析器,輸入 select @@version 執行后可以看到版本號,版本號在8.0.2039以下的都需要打補丁。
如果以上都沒(méi)問(wèn)題,這時(shí)你再做telnet 服務(wù)器ip 1433 測試,將會(huì )看到屏幕一閃之后光標在左上角不停閃動(dòng)。恭
喜你,你馬上可以開(kāi)始在企業(yè)管理器或查詢(xún)分析器連接了。
程序->Microsoft SQL Server-> 客戶(hù)端網(wǎng)絡(luò )使用工具。像在服務(wù)器網(wǎng)絡(luò )實(shí)用工具里一樣,確??蛻?hù)端tcp/ip協(xié)議
啟用,并且默認端口為1433(或其他端口,與服務(wù)器端保持一致就行)。
企業(yè)管理器->右鍵SQlserver組->新建sqlserver注冊->下一步->寫(xiě)入遠程IP->下一步-> 選Sqlserver登陸->下一
步->寫(xiě)入登陸名與密碼(sa,password)->下一步->下一步->完成
查詢(xún)分析器->文件->連接->寫(xiě)入遠程IP->寫(xiě)入登錄名和密碼(sa,password)->確定
通常建議在查詢(xún)分析器里做,因為默認情況下,通過(guò)企業(yè)管理器注冊另外一臺SQL Server的超時(shí)設置是4秒,而查
詢(xún)分析器是15秒。
修改默認連接超時(shí)的方法:
企業(yè)管理器->工具->選項->在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點(diǎn)擊"高級"選項卡->連接設置->在 登
錄超時(shí)(秒) 后面的框里輸入一個(gè)較大的數字
查詢(xún)分析器->工具->選項->連接->在 登錄超時(shí)(秒) 后面的框里輸入一個(gè)較大的數字
通常就可以連通了,如果提示錯誤,則進(jìn)入下一步。
五 錯誤產(chǎn)生的原因通常是由于SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶(hù)無(wú)法使用SQL Server的
登錄帳戶(hù)(如 sa )進(jìn)行連接。解決方法如下所示:
1 在服務(wù)器端使用企業(yè)管理器,并且選擇"使用 Windows 身份驗證"連接上 SQL Server。
2 展開(kāi)"SQL Server組",鼠標右鍵點(diǎn)擊SQL Server服務(wù)器的名稱(chēng),選擇"屬性",再選擇"安全性"選項卡。
3 在"身份驗證"下,選擇"SQL Server和 Windows "。
4 重新啟動(dòng)SQL Server服務(wù)。(在dos或命令行下面net stop mssqlserver停止服務(wù),net start
mssqlserver啟動(dòng)服務(wù),也是一種快捷的方法)。
,默認端口是445,因此在本地能連通是不能說(shuō)明什么問(wèn)題的,連接遠程服務(wù)器是完全不同的協(xié)議)。

