在嘗試從遠程計算機連接到 Microsoft SQL Server 2005 實例時,可能會接收到錯誤消息。在使用任何程序連接到 SQL Server 時都可能會發生此問題。例如,在使用 SQLCMD 實用工具連接到 SQL Server 時收到以下錯誤消息:
如果沒有將 SQL Server 2005 配置為接受遠程連接,則可能會發生此問題。默認情況下,SQL Server 2005 Express Edition 和 SQL Server 2005 Developer Edition 不允許遠程連接。若要配置 SQL Server 2005 以允許遠程連接,請完成以下所有步驟:
Sqlcmd:錯誤:Microsoft SQL Native Client:建立到服務器的連接時發生錯誤。連接到 SQL Server 2005 時,默認設置 SQL Server 不允許遠程連接這個事實可能會導致失敗。
- 在您要從遠程計算機連接到的 SQL Server 實例上啟用遠程連接。
- 打開 SQL Server Browser 服務。
- 配置防火牆以允許與 SQL Server 和 SQL Server Browser 服務相關的網絡通訊。
更多信息
若要在 SQL Server 2005 實例上啟用遠程連接並打開 SQL Server Browser 服務,請使用 SQL Server 2005 外圍應用配置器工具。在安裝 SQL Server 2005 時會安裝外圍應用配置器工具。
重要說明:這些步驟可能會增加您的安全風險。這些步驟還可能導致您的計算機或網絡更易於受到惡意用戶或惡意軟件(如病毒)的攻擊。我們之所以推薦本文介紹的這一過程,是為了使程序能夠按照設計意圖運行,或者為了實現特定的程序功能。我們建議在進行這些更改之前,充分考慮在您的特定環境中實施這一過程可能帶來的風險。如果您選擇實施此過程,請采用任何適當的附加步驟以保護您的系統。我們建議只有確實需要這一過程時才使用它。
如果在運行 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,請執行以下步驟:
為 SQL Server 2005 Express Edition 或 SQL Server 2005 Developer Edition 啟用遠程連接
必須為要從遠程計算機連接到的每個 SQL Server 2005 實例啟用遠程連接。為此,請按照下列步驟操作:- 單擊“開始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后單擊“SQL Server 外圍應用配置器”。
- 在“SQL Server 2005 外圍應用配置器”頁上,單擊“服務和連接的外圍應用配置器”。
- 在“服務和連接的外圍應用配置器”頁上,展開“數據庫引擎”,依次單擊“遠程連接”和“本地連接和遠程連接”,單擊適用於您的環境的相應協議,然后單擊“應用”。
注意:請在接收到以下消息時單擊“確定”: - 在“服務和連接的外圍應用配置器”頁上,展開“數據庫引擎”,依次單擊“服務”和“停止”,等待 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 服務,請執行以下步驟。重要說明:這些步驟可能會增加您的安全風險。這些步驟還可能導致您的計算機或網絡更易於受到惡意用戶或惡意軟件(如病毒)的攻擊。我們之所以推薦本文介紹的這一過程,是為了使程序能夠按照設計意圖運行,或者為了實現特定的程序功能。我們建議在進行這些更改之前,充分考慮在您的特定環境中實施這一過程可能帶來的風險。如果您選擇實施此過程,請采用任何適當的附加步驟以保護您的系統。我們建議只有確實需要這一過程時才使用它。
- 單擊“開始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后單擊“SQL Server 外圍應用配置器”。
- 在“SQL Server 2005 外圍應用配置器”頁上,單擊“服務和連接的外圍應用配置器”。
- 在“服務和連接的外圍應用配置器”頁上,單擊“SQL Server Browser”,在“啟動類型”中單擊“自動”選項,然后單擊“應用”。
注意:在單擊“自動”選項后,每次啟動 Microsoft Windows 時將自動啟動 SQL Server Browser 服務。 - 單擊“啟動”,然后單擊“確定”。
- 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,請執行以下步驟:
- 單擊“開始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后單擊“SQL Server 配置管理器”。
- 在“SQL Server 配置管理器”中,單擊右窗格中的“SQL Server Browser 服務”,右鍵單擊主窗口中的實例名稱,然后單擊“屬性”。
- 在“SQL Server Browser 屬性”頁上,單擊“高級”選項卡,定位到屬性列表中的實例 ID,然后單擊“確定”。
在 Windows 防火牆中為 SQL Server 2005 創建例外
若要在 Windows 防火牆中為 SQL Server 2005 創建例外,請執行以下步驟:- 在 Windows 防火牆中,單擊“例外”選項卡,然后單擊“添加程序”。
- 在“添加程序”窗口中,單擊“瀏覽”。
- 單擊 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可執行程序,單擊“打開”,然后單擊“確定”。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。MSSQL.1 這個占位符代表的是您在前面過程的步驟 3 中獲得的實例 ID。 - 對於每個需要為其創建例外的 SQL Server 2005 實例,重復步驟 1 到步驟 3。
在 Windows 防火牆中為 SQL Server Browser 服務創建例外
若要在 Windows 防火牆中為 SQL Server Browser 服務創建例外,請執行以下步驟:- 在 Windows 防火牆中,單擊“例外”選項卡,然后單擊“添加程序”。
- 在“添加程序”窗口中,單擊“瀏覽”。
- 單擊 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可執行程序,單擊“打開”,然后單擊“確定”。
注意:上述路徑可能會根據 SQL Server 2005 的安裝位置而不同。
這篇文章中的信息適用於:
關鍵字: |
kbsqldeveloper kbhowto kbtshoot kbinfo KB914277 |
Microsoft和/或其各供應商對於為任何目的而在本服務器上發布的文件及有關圖形所含信息的適用性,不作任何聲明。 所有該等文件及有關圖形均"依樣"提供,而不帶任何性質的保證。Microsoft和/或其各供應商特此聲明,對所有與該等信息有關的保證和條件不負任何責任,該等保證和條件包括關於適銷性、符合特定用途、所有權和非侵權的所有默示保證和條件。在任何情況下,在由於使用或運行本服務器上的信息所引起的或與該等使用或運行有關的訴訟中,Microsoft和/或其各供應商就因喪失使用、數據或利潤所導致的任何特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、數據或利潤不負任何責任。