在執行 Windows XP Service Pack 2 的電腦上,您可能無法連線至設定為使用「具名管道」伺服器網路程式庫的 SQL Server 執行個體

文章翻譯 文章翻譯
文章編號: 839269 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

您可能無法連線到 SQL Server 的執行個體,而且可能會收到下列其中一個錯誤訊息。

錯誤訊息 1

[具名管道]SQL Server 不存在或拒絕存取。
[具名管道]ConnectionOpen (Connect())。


錯誤訊息 2

無法連線到伺服器 <SQL Server instance name>

Server:Msg 17, Level 16, State 1 (伺服器:訊息 6、層級 16、狀態 1)
[Microsoft][ODBC SQL Server Driver][具名管道]SQL Server 不存在或拒絕存取。

錯誤訊息 3

無法連線到 <SQL Server instance name>
當您執行下列動作之一時就會發生這個問題:
  • 您嘗試連線到正在執行 Microsoft Windows XP Service Pack 2 電腦上所安裝的 SQL Server 執行個體。
  • 您嘗試連線至設定為只聽候「具名管道」伺服器網路程式庫的 SQL Server 執行個體。

發生的原因

根據預設,執行 Microsoft Windows XP Service Pack 2 的電腦會啟用「Windows 防火牆」。「Windows 防火牆」會關閉檔案及印表機共用所使用的連接埠 (例如 445),以避免網際網路中的電腦連線到您電腦上的檔案和列印共用。

當 SQL Server 是設定成使用具名管道透過 NetBIOS 工作階段來聽候傳入的用戶端連線時,SQL Server 就會像執行檔案及印表機共用一樣,透過 TCP 連接埠 445 進行通訊。因此,嘗試連線到 SQL Server 的 SQL Server 用戶端就會收到<徵狀>一節中所描述的錯誤訊息。

解決方案

如果要解決這個問題,您必須明確地啟用 TCP 連接埠 445。如果要執行這項操作,請使用下列其中一種方法。
  • 變更網路連線設定來啟用 TCP 連接埠 445

    如果要執行這項操作,請依照下列步驟執行:
    1. 按一下 [開始],再按一下 [執行]
    2. [執行] 對話方塊中,輸入 Firewall.cpl,再按一下 [確定]。
    3. [Windows 防火牆] 對話方塊中,按一下 [進階] 索引標籤。
    4. [網路連線設定值] 之下,按一下您的網路連線,然後按一下 [設定值]
    5. [進階設定] 對話方塊中,按一下 [服務] 索引標籤上的 [新增]
    6. [服務設定] 對話方塊中,依照下列指示設定各個值,然後按一下 [確定]
      摺疊此表格展開此表格
      內容數值
      服務說明:具名管道上的 SQL Server。
      您網路上主控此服務之電腦的名稱或 IP 位址 (例如 192.168.0.12):電腦目前的 IP 位址。
      這個服務的外部連接埠號碼445
      這個服務的內部連接埠號碼445

      注意請確定已經在 [服務設定] 對話方塊中選取 TCP 選項。
  • 啟用檔案及印表機共用來啟用 TCP 連接埠 445

    如果要執行這項操作,請依照下列步驟執行:
    1. 按一下 [開始],再按一下 [執行]
    2. [執行] 對話方塊中,輸入 Firewall.cpl,再按一下 [確定]。
    3. [Windows 防火牆] 對話方塊中,按一下 [例外] 索引標籤。
    4. [程式和服務] 下,按一下以選取 [檔案及印表機共用] 核取方塊,然後按一下 [編輯]
    5. [編輯服務] 對話方塊中,按一下以選取 [TCP 445] 核取方塊,然後按兩次 [確定]

其他可行方案

如果要解決這個問題,您可以使用 TCP/IP 通訊端網路程式庫。您可以為正在執行使用 TCP/IP 通訊端程式庫之 SQL Server 電腦建立別名,或者您可以將 TCP/IP 當作唯一的預設啟用通訊協定。如果要新增使用 TCP/IP 通訊端程式庫的 SQL Server 別名,請依照下列步驟執行:
  1. 按一下 [開始],按一下 [執行],輸入 cliconfg,然後按一下 [確定]
  2. [SQL Server 用戶端網路公用程式] 對話方塊中,按一下 [別名] 索引標籤,然後按一下 [新增]
  3. [新增通訊協定網路程式庫設定] 對話方塊中,按一下 [通訊協定網路程式庫] 下的 [TCP/IP]
  4. [伺服器別名] 方塊中,輸入執行 SQL Server 之電腦的 IP 位址或名稱,然後按一下 [確定]

狀況說明

這是原本設計的作法。

?考

如需有關網際網路防火牆的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
298804 網際網路防火牆可能會阻礙瀏覽與檔案共用
308127 如何手動開啟 Windows XP 網際網路連線防火牆中的連接埠


如需有關這些錯誤訊息的其他常見原因的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
328306 SQL Server 不存在或拒絕存取錯誤訊息的可能原因


如需有關設定 SQL Server 2000 和 Windows XP Service Pack 2 的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
841249 如何設定 Windows XP Service Pack 2 (SP2),以便與 SQL Server 搭配使用

屬性

文章編號: 839269 - 上次校閱: 2006年3月2日 - 版次: 4.3
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server, Desktop Edition
  • the operating system: Microsoft Windows XP SP2
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
關鍵字:?
kbtshoot kbconnectivity kbfirewall kbclientserver kbsqlclient kbserver kbnetwork kbinput kberrmsg kbprb KB839269
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com