用戶在使用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)”
選擇“允許用戶對該服務器進行遠程鏈接”選項後,檢查是否問題已經排除。如果遠程鏈接已經成功,該過程已經完成。若用戶發現“提醒錯誤對話框”依然彈出,那麼還需要做的是:
2.為微軟SQL服務器(MSSQLServer)配置相應協議。
此時用戶要做的是檢查SQL網絡鏈接配置。打開“SQL服務器配置管理”選項>打開“該節點的SQL服務器網絡配置選項”>選擇“微軟SQL服務器網絡協議”選項(或用戶的SQL服務器中為SQL服務器配置網絡協議的選項,不同版本的SQL名稱可能不同):
確定“微軟SQL服務器網絡選項協議”中的TCP/IP協議對服務器來說是有效的。再次檢查是否已經可以執行遠程鏈接。若“錯誤提醒對話框”依然彈出,我們需要進一步檢查SQL服務器防火牆選項。
3. 檢查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服務器即可支持遠程鏈接。