首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> SQL Server 2005

SQL Server 2005 不允許遠端連線錯誤完整解決方案 (Provider: Named Pipes, Error: 40)

     編輯:SQL Server 2005

錯誤現象

在建立與伺服器的連線時出錯。連接到 SQL Server 2005 時,預設設定下不允許遠端連線...
(provider: 命名管道提供者, error: 40 - 無法開啟到 SQL Server 的連線)

現象:連線字串用 Server=127.0.0.1 失敗,改為 Server=. 或 Server=機器名 卻成功,僅 IP 連線失效。

根本原因

SQL Server 2005 預設僅啟用 Shared Memory 協定 (本機專用),TCP/IP 與 Named Pipes 預設停用,導致 IP 連線被拒。

完整解決步驟

1. 外圍應用設定器啟用遠端協定

  1. 開啟 SQL Server 外圍應用設定器 → 服務與連線的外圍應用設定器。
  2. 展開 Database Engine → 遠端連線 → 選 本地和遠端連線 → 勾選 同時使用 TCP/IP 和 Named Pipes → 套用。

2. 重啟 SQL Server 服務 (關鍵)

  1. 開啟 SQL Server Configuration Manager。
  2. 右鍵 SQL Server (MSSQLSERVER) → 重新啟動。
  3. 注意:不重啟設定不生效!

3. 檢查 VIA 協定衝突

若服務無法啟動,檢查 SQL Server 2005 網路組態 → 協定中 VIA 是否啟用,若是則停用 後再重啟服務。

詳細四大面向設定 (MSDN 摘要)

  1. SQL Server 啟用遠端連線 (同上步驟 1-2)。
  2. 啟用 SQL Server Browser 服務 (外圍設定器 → SQL Server Browser → 自動 + 啟動)。
  3. Windows 防火牆例外:sqlservr.exe (C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe)。
  4. Windows 防火牆例外:sqlbrowser.exe (C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe)。

驗證

修改連線字串為 Server=127.0.0.1 (或實際 IP) 測試連線,應成功。

常見誤區

  • 只在外圍設定器勾選協定卻未重啟服務。
  • 防火牆未放行 sqlservr.exe 與 sqlbrowser.exe。
  • VIA 協定干擾服務啟動。

依照「啟用協定 → 重啟服務 → 防火牆例外 → 驗證」四步驟,可徹底解決 SQL Server 2005 Error 40 遠端連線問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved