遠(yuǎn)程連接SQL Server 2000服務(wù)器的解決方案:
需求如下:需要遠(yuǎn)程連接外地的SQL Server 2000服務(wù)器。
測(cè)試條件:一個(gè)公網(wǎng)IP,兩個(gè)靜態(tài)IP。
具體步驟:
一、ping服務(wù)器IP能否ping通
觀察遠(yuǎn)程SQL Server 2000服務(wù)器的物理連接是否存在。如果不行,請(qǐng)檢查網(wǎng)絡(luò),查看配置,當(dāng)然得確保遠(yuǎn)程sql server 2000服務(wù)器的IP拼寫(xiě)正確。
二 在Dos或命令行下輸入telnet 服務(wù)器IP 端口,看能否連通
如telnet 202.114.100.100 1433
通常端口值是1433,因?yàn)?433是SQL Server 2000的對(duì)于Tcp/IP的默認(rèn)偵聽(tīng)端口。如果有問(wèn)題,通常這一步會(huì)出問(wèn)題。通常的提示是“……無(wú)法打開(kāi)連接,連接失敗"。
如果這一步有問(wèn)題,應(yīng)該檢查以下選項(xiàng)。
1.檢查遠(yuǎn)程服務(wù)器是否啟動(dòng)了sql server 2000服務(wù)。如果沒(méi)有,則啟動(dòng)。
2.檢查服務(wù)器端有沒(méi)啟用Tcp/IP協(xié)議,因?yàn)檫h(yuǎn)程連接(通過(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的屬性,確保默認(rèn)端口為1433,并且隱藏服務(wù)器復(fù)選框沒(méi)有勾上。
事實(shí)上,如果默認(rèn)端口被修改,也是可以的,但是在客戶端做telnet測(cè)試時(shí),寫(xiě)服務(wù)器端口號(hào)時(shí)必須與服務(wù)器配置的端口號(hào)保持一致。如果隱藏服務(wù)器復(fù)選框被勾選,則意味著客戶端無(wú)法通過(guò)枚舉服務(wù)器來(lái)看到這臺(tái)服務(wù)器,起到了保護(hù)的作用,但不影響連接,但是Tcp/ip協(xié)議的默認(rèn)端口將被隱式修改為2433,在客戶端連接時(shí)必須作相應(yīng)的改變。
4.如果服務(wù)器端操作系統(tǒng)打過(guò)sp2補(bǔ)丁,則要對(duì)windows防火墻作一定的配置,要對(duì)它開(kāi)放1433端口,通常在測(cè)試時(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,在結(jié)果列表里看是否有類似 tcp 127.0.0.1 1433 listening 的項(xiàng)。如果沒(méi)有,則通常需要給sql server 2000打上至少sp3的補(bǔ)丁。其實(shí)在服務(wù)器端啟動(dòng)查詢分析器,輸入 select @@version 執(zhí)行后可以看到版本號(hào),版本號(hào)在8.0.2039以下的都需要打補(bǔ)丁。
如果以上都沒(méi)問(wèn)題,這時(shí)你再做telnet 服務(wù)器ip 1433 測(cè)試,將會(huì)看到屏幕一閃之后光標(biāo)在左上角不停閃動(dòng)。恭喜你,你馬上可以開(kāi)始在企業(yè)管理器或查詢分析器連接了。
三、檢查客戶端設(shè)置
程序->Microsoft SQL Server -> 客戶端網(wǎng)絡(luò)使用工具。像在服務(wù)器網(wǎng)絡(luò)實(shí)用工具里一樣,確保客戶端tcp/ip協(xié)議啟用,并且默認(rèn)端口為1433(或其他端口,與服務(wù)器端保持一致就行)。
四、在企業(yè)管理器里或查詢那分析器連接測(cè)試
企業(yè)管理器->右鍵SQlserver組->新建sqlserver注冊(cè)->下一步->寫(xiě)入遠(yuǎn)程IP->下一步->選Sqlserver登陸->下一步->寫(xiě)入登陸名與密碼(sa,password)->下一步->下一步->完成
查詢分析器->文件->連接->寫(xiě)入遠(yuǎn)程IP->寫(xiě)入登錄名和密碼(sa,password)->確定
通常建議在查詢分析器里做,因?yàn)槟J(rèn)情況下,通過(guò)企業(yè)管理器注冊(cè)另外一臺(tái)SQL Server的超時(shí)設(shè)置是4秒,而查詢分析器是15秒。
修改默認(rèn)連接超時(shí)的方法:
企業(yè)管理器->工具->選項(xiàng)->在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點(diǎn)擊"高級(jí)"選項(xiàng)卡->連接設(shè)置->在 登錄超時(shí)(秒) 后面的框里輸入一個(gè)較大的數(shù)字
查詢分析器->工具->選項(xiàng)->連接->在 登錄超時(shí)(秒) 后面的框里輸入一個(gè)較大的數(shù)字
通常就可以連通了,如果提示錯(cuò)誤,則進(jìn)入下一步。
五、錯(cuò)誤產(chǎn)生的原因通常是由于SQL Server使用了"僅 Windows"的身份驗(yàn)證方式,因此用戶無(wú)法使用SQL Server的登錄帳戶(如 sa )進(jìn)行連接。解決方法如下所示:
1.在服務(wù)器端使用企業(yè)管理器,并且選擇"使用 Windows 身份驗(yàn)證"連接上 SQL Server。
2.展開(kāi)"SQL Server組",鼠標(biāo)右鍵點(diǎn)擊SQL Server服務(wù)器的名稱,選擇"屬性",再選擇"安全性"選項(xiàng)卡。
3.在"身份驗(yàn)證"下,選擇"SQL Server和 Windows "。
4.重新啟動(dòng)SQL Server服務(wù)。(在dos或命令行下面net stop mssqlserver停止服務(wù),net start mssqlserver啟動(dòng)服務(wù),也是一種快捷的方法)。
如沒(méi)特殊注明,文章均為中技互聯(lián)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自www.tmsmall666.cn