安裝VS2005軟件時會自動安裝SQLserver2005 Express Edition,同時安裝SQLserver2000 Develop Edition,在遠程連接sql2000數(shù)據(jù)庫的時候,會出現(xiàn)這個問題:

“在建立與服務(wù)器的連接時出錯。在連接到 SQL Server 2005 時,在默認的設(shè)置下 SQL Server 不允許進行遠程連接可能會導(dǎo)致此失敗。 (provider: 命名管道提供程序, error: 40 - 無法打開到 SQL Server 的連接)”
該問題產(chǎn)生的原因是sql2000的版本過低,sql2000用于本地連接的默認端口是445,用于遠程連接的默認端口是1433(說明:遠程連接端口可以通過“服務(wù)器網(wǎng)絡(luò)實用工具->TCP/IP屬性->默認端口”來修改),剛安裝的sql2000的版本為8.0.194,該版本情況下1433端口或者任意設(shè)置的遠程連接端口都不是處于偵聽狀態(tài),通過telnet 10.1.79.185(服務(wù)器本機IP)1434命令可以查看1433端口是否處于偵聽狀態(tài),如果不是處于偵聽狀態(tài)則客戶端不能遠程連接sql2000數(shù)據(jù)庫,當版本達到8.0.2039時則1433端口處于偵聽狀態(tài),因此解決問題的方法是為sql2000打上SQL Server 2000 Service Pack 4補丁。產(chǎn)生問題與VS2005中自帶的sql2005無關(guān),可以根據(jù)需要為他們各自設(shè)定不同的遠程連接默認端口。
下載地址為:http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&DisplayLang=zh-cn,下載補丁為:SQL2000-KB884525-SP4-x86-CHS.EXE。具體如下:
8.00.194 Microsoft SQL Server 2000
8.00.384 Microsoft SQL Server 2000 SP1
8.00.532 Microsoft SQL Server 2000 SP2
8.00.760 Microsoft SQL Server 2000 SP3
8.00.818 Microsoft SQL Server 2000 SP3 w/CumulativePatchMS03-031
8.00.2039 Microsoft SQL Server 2000 SP4
碰到這種sql2000遠程連接失敗的情況,可以根據(jù)一下步驟來檢查:
一 看ping 服務(wù)器IP能否ping通。
這個實際上是看和遠程sql server 2000服務(wù)器的物理連接是否存在。如果不行,請檢查網(wǎng)絡(luò),查看配置,當然得確保遠程sql server 2000服務(wù)器的IP拼寫正確。
二 在Dos或命令行下輸入telnet 服務(wù)器IP 端口,看能否連通。
如telnet 202.114.100.100 1433
通常端口值是1433,因為1433是sql server 2000的對于Tcp/IP的默認偵聽端口。如果有問題,通常這一步會出問題。通常的提示是“……無法打開連接,連接失敗"。
如果這一步有問題,應(yīng)該檢查以下選項。
1 檢查遠程服務(wù)器是否啟動了sql server 2000服務(wù)。如果沒有,則啟動。
2 檢查服務(wù)器端有沒啟用Tcp/IP協(xié)議,因為遠程連接(通過因特網(wǎng))需要靠這個協(xié)議。檢查方法是,在服務(wù)器上打開 開始菜單->程序->Microsoft SQL Server->服務(wù)器網(wǎng)絡(luò)實用工具,看啟用的協(xié)議里是否有tcp/ip協(xié)議,如果沒有,則啟用它。
3 檢查服務(wù)器的tcp/ip端口是否配置為1433端口。仍然在服務(wù)器網(wǎng)絡(luò)實用工具里查看啟用協(xié)議里面的tcp/ip的屬性,確保默認端口為1433,并且隱藏服務(wù)器復(fù)選框沒有勾上。
事實上,如果默認端口被修改,也是可以的,但是在客戶端做telnet測試時,寫服務(wù)器端口號時必須與服務(wù)器配置的端口號保持一致。如果隱藏服務(wù)器復(fù)選框被勾選,則意味著客戶端無法通過枚舉服務(wù)器來看到這臺服務(wù)器,起到了保護的作用,但不影響連接,但是Tcp/ip協(xié)議的默認端口將被隱式修改為2433,在客戶端連接時必須作相應(yīng)的改變。
4 如果服務(wù)器端操作系統(tǒng)打過sp2補丁,則要對windows防火墻作一定的配置,要對它開放1433端口,通常在測試時可以直接關(guān)掉windows防火墻(其他的防火墻也關(guān)掉最好)。
5 檢查服務(wù)器是否在1433端口偵聽。如果服務(wù)器沒有在tcp連接的1433端口偵聽,則是連接不上的。檢查方法是在服務(wù)器的dos或命令行下面輸入
netstat -a -n 或者是netstat -an,在結(jié)果列表里看是否有類似 tcp 127.0.0.1 1433 listening 的項。如果沒有,則通常需要給sql server 2000打上至少sp3的補丁。其實在服務(wù)器端啟動查詢分析器,輸入 select @@version 執(zhí)行后可以看到版本號,版本號在8.0.2039以下的都需要打補丁。
如果以上都沒問題,這時你再做telnet 服務(wù)器ip 1433 測試,將會看到屏幕一閃之后光標在左上角不停閃動。恭喜你,你馬上可以開始在企業(yè)管理器或查詢分析器連接了。
三 檢查客戶端設(shè)置
程序->Microsoft SQL Server -> 客戶端網(wǎng)絡(luò)使用工具。像在服務(wù)器網(wǎng)絡(luò)實用工具里一樣,確保客戶端tcp/ip協(xié)議啟用,并且默認端口為1433(或其他端口,與服務(wù)器端保持一致就行)。
四 在企業(yè)管理器里或查詢那分析器連接測試
企業(yè)管理器->右鍵SQlserver組->新建sqlserver注冊->下一步->寫入遠程IP->下一步->選Sqlserver登陸->下一步->寫入登陸名與密碼(sa,password)->下一步->下一步->完成
查詢分析器->文件->連接->寫入遠程IP->寫入登錄名和密碼(sa,password)->確定
通常建議在查詢分析器里做,因為默認情況下,通過企業(yè)管理器注冊另外一臺SQL Server的超時設(shè)置是4秒,而查詢分析器是15秒。
修改默認連接超時的方法:
企業(yè)管理器->工具->選項->在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點擊"高級"選項卡->連接設(shè)置->在 登錄超時(秒) 后面的框里輸入一個較大的數(shù)字
查詢分析器->工具->選項->連接->在 登錄超時(秒) 后面的框里輸入一個較大的數(shù)字
通常就可以連通了,如果提示錯誤,則進入下一步。
五 錯誤產(chǎn)生的原因通常是由于SQL Server使用了"僅 Windows"的身份驗證方式,因此用戶無法使用SQL Server的登錄帳戶(如 sa )進行連接。解決方法如下所示:
1 在服務(wù)器端使用企業(yè)管理器,并且選擇"使用 Windows 身份驗證"連接上 SQL Server。
2 展開"SQL Server組",鼠標右鍵點擊SQL Server服務(wù)器的名稱,選擇"屬性",再選擇"安全性"選項卡。
3 在"身份驗證"下,選擇"SQL Server和 Windows "。
4 重新啟動SQL Server服務(wù)。(在dos或命令行下面net stop mssqlserver停止服務(wù),net start mssqlserver啟動服務(wù),也是一種快捷的方法)。
附注:在連接本地服務(wù)器時,通常使用的是命名管道協(xié)議(在服務(wù)器網(wǎng)絡(luò)實用工具里可以看到啟用的協(xié)議有這個),默認端口是445,因此在本地能連通是不能說明什么問題的,連接遠程服務(wù)器是完全不同的協(xié)議)
文章題目:遠程連接sqlserver2000服務(wù)器不成功的解決方案
網(wǎng)站URL:http://chinadenli.net/article12/cjshgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄、網(wǎng)站維護、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)