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