sql 2005 error 40遠端連線錯誤

gieag發表於2011-01-14

在嘗試從遠端計算機連線到 Microsoft SQL Server 2005 例項時,可能會接收到錯誤訊息。在使用任何程式連線到 SQL Server 時都可能會發生此問題。例如,在使用 SQLCMD 實用工具連線到 SQL Server 時收到以下錯誤訊息:

Sqlcmd:錯誤:Microsoft SQL Native Client:建立到伺服器的連線時發生錯誤。連線到 SQL Server 2005 時,預設設定 SQL Server 不允許遠端連線這個事實可能會導致失敗。

如果沒有將 SQL Server 2005 配置為接受遠端連線,則可能會發生此問題。預設情況下,SQL Server 2005 Express Edition SQL Server 2005 Developer Edition 不允許遠端連線。若要配置 SQL Server 2005 以允許遠端連線,請完成以下所有步驟:

  • 在您要從遠端計算機連線到的 SQL Server 例項上啟用遠端連線。
  • 開啟 SQL Server Browser 服務。
  • 配置防火牆以允許與 SQL Server SQL Server Browser 服務相關的網路通訊。

本文介紹如何完成這些步驟中的每一步。

 

更多資訊

若要在 SQL Server 2005 例項上啟用遠端連線並開啟 SQL Server Browser 服務,請使用 SQL Server 2005 外圍應用配...

若要在 SQL Server 2005 例項上啟用遠端連線並開啟 SQL Server Browser 服務,請使用 SQL Server 2005 外圍應用配置器工具。在安裝 SQL Server 2005 時會安裝外圍應用配置器工具。

 

SQL Server 2005 Express Edition SQL Server 2005 Developer Edition 啟用遠端連線

必須為要從遠端計算機連線到的每個 SQL Server 2005 例項啟用遠端連線。為此,請按照下列步驟操作:

  1. 單擊“開始”,依次指向“程式”、“Microsoft SQL Server 2005和“配置工具”,然後單擊“SQL Server 外圍應用配置器”。
  2. 在“SQL Server 2005 外圍應用配置器”頁上,單擊“服務和連線的外圍應用配置器”。
  3. 在“服務和連線的外圍應用配置器”頁上,展開“資料庫引擎”,依次單擊“遠端連線”和“本地連線和遠端連線”,單擊適用於您的環境的相應協議,然後單擊“應用”。

注意:請在接收到以下訊息時單擊“確定”:

直到重新啟動資料庫引擎服務後,對連線設定所做的更改才會生效。

  1. 在“服務和連線的外圍應用配置器”頁上,展開“資料庫引擎”,依次單擊“服務”和“停止”,等待 MSSQLSERVER 服務停止,然後單擊“啟動”以重新啟動 MSSQLSERVER 服務。

 

啟用 SQL Server Browser 服務

如果您是通過使用例項名稱來執行 SQL Server 2005 並且在連線字串中沒有使用特定的 TCP/IP 埠號,則必須啟用 SQL Server Browser 服務以允許遠端連線。例如,使用 <計算機名>/SQLEXPRESS 的預設例項名稱安裝的 SQL Server 2005 Express。不管您正在執行多少個 SQL Server 2005 例項,只需要啟用一次 SQL Server Browser 服務。若要啟用 SQL Server Browser 服務,請執行以下步驟。

重要說明:這些步驟可能會增加您的安全風險。這些步驟還可能導致您的計算機或網路更易於受到惡意使用者或惡意軟體(如病毒)的攻擊。我們之所以推薦本文介紹的這一過程,是為了使程式能夠按照設計意圖執行,或者為了實現特定的程式功能。我們建議在進行這些更改之前,充分考慮在您的特定環境中實施這一過程可能帶來的風險。如果您選擇實施此過程,請採用任何適當的附加步驟以保護您的系統。我們建議只有確實需要這一過程時才使用它。

  1. 單擊“開始”,依次指向“程式”、“Microsoft SQL Server 2005和“配置工具”,然後單擊“SQL Server 外圍應用配置器”。
  2. 在“SQL Server 2005 外圍應用配置器”頁上,單擊“服務和連線的外圍應用配置器”。
  3. 在“服務和連線的外圍應用配置器”頁上,單擊“SQL Server Browser”,在“啟動型別”中單擊“自動”選項,然後單擊“應用”。

注意:在單擊“自動”選項後,每次啟動 Microsoft Windows 時將自動啟動 SQL Server Browser 服務。

  1. 單擊“啟動”,然後單擊“確定”。

注意:在計算機上執行 SQL Server Browser 服務時,計算機顯示其上執行的每個 SQL Server 例項的例項名稱和連線資訊。如果不啟用 SQL Server Browser 服務並且通過分配的 TCP 埠直接連線到 SQL Server 例項,則可以降低此風險。本文不討論如何通過 TCP 埠直接到 SQL Server 例項。有關 SQL Server Browser 服務和連線到 SQL Server 例項的更多資訊,請參見《SQL Server 聯機叢書》中的以下主題:

  • SQL Server Browser 服務
  • 連線到 SQL Server 資料庫引擎
  • 客戶端網路配置

 

Windows 防火牆中建立例外

這些步驟適用於 Windows XP Service Pack 2 (SP2) Windows Server 2003 中包含的 Windows 防火牆版本。如果您使用的是不同的防火牆系統,請參閱相應的防火牆文件以瞭解更多資訊。

如果在執行 SQL Server 2005 的計算機上執行防火牆,將會阻止訪問 SQL Server 2005 的外部連線,除非 SQL Server 2005 SQL Server Browser 服務可以通過防火牆進行通訊。必須為每個要接受遠端連線的 SQL Server 2005 例項建立一個例外,併為 SQL Server Browser 服務建立一個例外。

在安裝 SQL Server 2005 的程式檔案時,SQL Server 2005 會使用一個例項 ID 作為路徑的一部分。若要為每個 SQL Server 例項建立一個例外,必須確定正確的例項 ID。若要獲取例項 ID,請執行以下步驟:

  1. 單擊“開始”,依次指向“程式”、“Microsoft SQL Server 2005和“配置工具”,然後單擊“SQL Server 配置管理器”。
  2. 在“SQL Server 配置管理器”中,單擊右窗格中的“SQL Server Browser 服務”,右鍵單擊主視窗中的例項名稱,然後單擊“屬性”。
  3. 在“SQL Server Browser 屬性”頁上,單擊“高階”選項卡,定位到屬性列表中的例項 ID,然後單擊“確定”。

若要開啟 Windows 防火牆,請單擊“開始”,再單擊“執行”,鍵入 firewall.cpl,然後單擊“確定”。

Windows 防火牆中為 SQL Server 2005 建立例外

若要在 Windows 防火牆中為 SQL Server 2005 建立例外,請執行以下步驟:

  1. Windows 防火牆中,單擊“例外”選項卡,然後單擊“新增程式”。
  2. 在“新增程式”視窗中,單擊“瀏覽”。
  3. 單擊 C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Binn/sqlservr.exe 可執行程式,單擊“開啟”,然後單擊“確定”。

注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。MSSQL.1 這個佔位符代表的是您在前面過程的步驟 3 中獲得的例項 ID

  1. 對於每個需要為其建立例外的 SQL Server 2005 例項,重複步驟 1 到步驟 3

Windows 防火牆中為 SQL Server Browser 服務建立例外

若要在 Windows 防火牆中為 SQL Server Browser 服務建立例外,請執行以下步驟:

  1. Windows 防火牆中,單擊“例外”選項卡,然後單擊“新增程式”。
  2. 在“新增程式”視窗中,單擊“瀏覽”。
  3. 單擊 C:/Program Files/Microsoft SQL Server/90/Shared/sqlbrowser.exe 可執行程式,單擊“開啟”,然後單擊“確定”。

注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。

 

 

相關文章