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