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