萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> SQL Server 2008遠程鏈接時SQL數據庫不成功怎麼辦

SQL Server 2008遠程鏈接時SQL數據庫不成功怎麼辦

   遠程連接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,設置密碼。

  第五步:

  在客戶端登陸服務器端數據庫。如下圖所示:

SQL Server 2008遠程鏈接時SQL數據庫不成功怎麼辦 三聯

  第六步:

  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)。

copyright © 萬盛學電腦網 all rights reserved