使用SQL Server 2008遠(yuǎn)程鏈接時(shí)SQL數(shù)據(jù)庫(kù)不成功的解決方案
遠(yuǎn)程連接SQL Server 2008,服務(wù)器端和客戶(hù)端配置
關(guān)鍵設(shè)置:
第一步(SQL2005、SQL2008):
開(kāi)始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Server 配置管理器-->SQL Server網(wǎng)絡(luò)配置-->MSSQLSERVER(這個(gè)名稱(chēng)以具體實(shí)例名為準(zhǔn)) 的協(xié)議-->TCP/IP-->右鍵-->啟用
第二步:
SQL2005:
開(kāi)始-->程序-->Microsoft SQL Server 2005-->配置工具-->SQL Server 2005外圍應(yīng)用配置器-->服務(wù)和連接的外圍應(yīng)用配置器 -->Database Engine -->遠(yuǎn)程連接,選擇本地連接和遠(yuǎn)程連接并選上同時(shí)使用Tcp/Ip和named pipes.
(附:如何配置 SQL Server 2005 以允許遠(yuǎn)程連接:http://support.microsoft.com/kb/914277/zh-cn )
SQL2008:
打開(kāi)SQL Server Management Studio-->在左邊[對(duì)象資源管理器]中選擇第一項(xiàng)(主數(shù)據(jù)庫(kù)引擎)-->右鍵-->方面-->在方面的下拉列表中選擇[外圍應(yīng)用配置器]-->將RemoteDacEnable置為T(mén)rue.(這一步很關(guān)鍵)
Express:
如果XP有開(kāi)防火墻,在例外里面要加入以下兩個(gè)程序:
C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Binn/sqlservr.exe,
C:/Program Files/Microsoft SQL Server/90/Shared/sqlbrowser.exe
第三步:
開(kāi)始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Server 配置管理器-->SQL Server 服務(wù)-->右擊SQL Server(MSSQLSERVER) (注:括號(hào)內(nèi)以具體實(shí)例名為準(zhǔn))-->重新啟動(dòng)
第四步:
服務(wù)器端開(kāi)啟sa用戶(hù)。開(kāi)始 -> 程序 -> Microsoft SQL Server 2008 -> Microsoft SQL Server Management Studio -> 主數(shù)據(jù)庫(kù)引擎 -> 安全性 -> 登錄名 -> sa,設(shè)置密碼。
第五步:
在客戶(hù)端登陸服務(wù)器端數(shù)據(jù)庫(kù)。如下圖所示:
第六步:
C#工程更改數(shù)據(jù)庫(kù)連接字符串。打開(kāi)C#工程 -> 解決方案資源管理器 -> app.config -> 更改。示例如下:
[c-sharp]
connectionString="data source=服務(wù)器IP/實(shí)例名;initial catalog=數(shù)據(jù)庫(kù)名;User ID=用戶(hù)名;password=密碼"
第七步:
Good Luck! Enjoy……
用戶(hù)在使用SQL Server 2008遠(yuǎn)程鏈接時(shí),可能會(huì)彈出如下對(duì)話(huà)框:
在鏈接SQL服務(wù)器時(shí)發(fā)生網(wǎng)絡(luò)鏈接錯(cuò)誤或特定實(shí)例錯(cuò)誤。SQL服務(wù)器不存在或者鏈接不成功。請(qǐng)驗(yàn)證用戶(hù)名是否正確或SQL服務(wù)器是否已經(jīng)配置遠(yuǎn)程鏈接功能。(錯(cuò)誤發(fā)現(xiàn)方:命名管道供應(yīng)方。錯(cuò)誤代號(hào):40---無(wú)法和SQL服務(wù)器進(jìn)行鏈接)
如何處理這一問(wèn)題?
用戶(hù)如果發(fā)現(xiàn)這個(gè)錯(cuò)誤提醒,需要檢查三個(gè)方面的配置,并做出相關(guān)修改。(以下所標(biāo)注的配置措施均以SQL 2008服務(wù)器為模板)
(一)用戶(hù)需要做的第一件事是檢查SQL數(shù)據(jù)庫(kù)服務(wù)器中是否允許遠(yuǎn)程鏈接。在SQL 2008服務(wù)器中可以通過(guò)打開(kāi)SQL Server 2008管理項(xiàng)目(SQL Server 2008 Management Studio,)來(lái)完成這項(xiàng)檢查。其具體操作為:
(1)右擊SQL Server 2008選項(xiàng),選擇SQL Server 2008 Management Studio:
(2)打開(kāi)“服務(wù)器屬性(Server Properties)” (右鍵連接名稱(chēng)-屬性)
選擇“允許用戶(hù)對(duì)該服務(wù)器進(jìn)行遠(yuǎn)程鏈接”選項(xiàng)后,檢查是否問(wèn)題已經(jīng)排除。如果遠(yuǎn)程鏈接已經(jīng)成功,該過(guò)程已經(jīng)完成。若用戶(hù)發(fā)現(xiàn)“提醒錯(cuò)誤對(duì)話(huà)框”依然彈出,那么還需要做的是:
(二)為微軟SQL服務(wù)器(MSSQLServer)配置相應(yīng)協(xié)議。
此時(shí)用戶(hù)要做的是檢查SQL網(wǎng)絡(luò)鏈接配置。打開(kāi)“SQL服務(wù)器配置管理”選項(xiàng)>打開(kāi)“該節(jié)點(diǎn)的SQL服務(wù)器網(wǎng)絡(luò)配置選項(xiàng)”>選擇“微軟SQL服務(wù)器網(wǎng)絡(luò)協(xié)議”選項(xiàng)(或用戶(hù)的SQL服務(wù)器中為SQL服務(wù)器配置網(wǎng)絡(luò)協(xié)議的選項(xiàng),不同版本的SQL名稱(chēng)可能不同):
確定“微軟SQL服務(wù)器網(wǎng)絡(luò)選項(xiàng)協(xié)議”中的TCP/IP協(xié)議對(duì)服務(wù)器來(lái)說(shuō)是有效的。再次檢查是否已經(jīng)可以執(zhí)行遠(yuǎn)程鏈接。若“錯(cuò)誤提醒對(duì)話(huà)框”依然彈出,我們需要進(jìn)一步檢查SQL服務(wù)器防火墻選項(xiàng)。
(三)檢查SQL服務(wù)器防火墻設(shè)置 (快捷步驟-直接關(guān)閉防火墻(不安全))
如果在進(jìn)行完上兩步操作后,用戶(hù)端計(jì)算機(jī)仍然無(wú)法遠(yuǎn)程鏈接到SQL服務(wù)器,用戶(hù)需要做的是對(duì)SQL服務(wù)器防火墻進(jìn)行重新配置。在進(jìn)行這一步操作時(shí),首先找到SQL服務(wù)器上那個(gè)端口支持TCP/IP協(xié)議。用戶(hù)可以在SQL服務(wù)器防火墻已經(jīng)處于運(yùn)行狀態(tài)下,點(diǎn)擊“TCP/IP協(xié)議”選擇“屬性”:
從上圖中我們可以看出,這臺(tái)SQL服務(wù)器上支持TCP/IP協(xié)議的是1433端口。下一步要做的是在防火墻的配置中允許1433端口支持TCP/IP協(xié)議即可。如果服務(wù)器上運(yùn)行的是Windows 7操作系統(tǒng),其配置步驟為(其他微軟操作系統(tǒng)的做法類(lèi)似),打開(kāi)“控制面板”選擇“Windows防火墻”選項(xiàng):
選擇“高級(jí)設(shè)置”后,在右邊菜單欄中找出“具有高級(jí)安全選項(xiàng)的Windows防火墻”并將其打開(kāi)。打開(kāi)后會(huì)發(fā)現(xiàn)在左邊菜單欄中有“入站規(guī)則(Inboud Rules)”選項(xiàng)。將該選項(xiàng)打開(kāi),并在右邊菜單欄中選擇“新建規(guī)則(New Rule)”選項(xiàng):
打開(kāi)“新建規(guī)則”選項(xiàng)后,利用“新內(nèi)置綁定規(guī)則向?qū)?rdquo;為1433端口配置“內(nèi)部綁定協(xié)議”配置為適用于TCP/IP協(xié)議即可。(前提是,需要完成該步驟以前所述的所有步驟),根據(jù)下面的幾幅圖為1433端口配置適用于1433端口即可:
完成上述的三大步驟,并確認(rèn)每一步都操作正確后,用戶(hù)的SQL服務(wù)器即可支持遠(yuǎn)程鏈接,一切萬(wàn)事ok了。
(注意:完成第二步驟的時(shí)候,必須先重啟sql服務(wù)才可以)(net stop mssqlserver net start mssqlserver)。
關(guān)鍵詞:SQL,SQL數(shù)據(jù)庫(kù)
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 1
- 1
- 1
- 1
- 1
- 1