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

解決 SQL Server 不允許遠端連線的完整排查清單

     編輯:關於SqlServer

全新安裝 SQL Server 後嘗試遠端連線,常遇到錯誤:

「在預設設定下 SQL Server 不允許遠端連線... (provider: 命名管道提供者, error: 40 - 無法開啟連線)」

本文提供分層排查清單,依序驗證服務、通訊協定、防火牆、瀏覽器服務,快速定位問題。

第一層:確認資料庫引擎服務已啟動

  1. SQL Server 組態管理員 → SQL Server 服務 → SQL Server (MSSQLSERVER) 狀態為「執行中」;啟動類型設為「自動」。
  2. 或透過 服務 MMC (services.msc) 確認同一服務。
  3. 若啟動失敗,檢查 SQL Server 組態管理員 → SQL Server 網路組態 → MSSQLSERVER 通訊協定 → VIA 是否啟用;停用 VIA 後再試啟動(已知相容性問題)。

第二層:啟用遠端連線通訊協定

  1. 開啟 SQL Server 外部應用組態工具(或組態管理員)。
  2. 展開 資料庫引擎 → 遠端連線,選取 「本機和遠端連線」,並勾選 TCP/IP 與命名管道 兩者皆啟用。
  3. 點選「套用」,系統提示需重新啟動資料庫引擎服務生效 → 重啟服務。

第三層:TCP/IP 連接埠與 IP 位址設定

  1. 在 SQL Server 組態管理員 → SQL Server 網路組態 → MSSQLSERVER 通訊協定 → TCP/IP 右鍵「屬性」。
  2. IP 位址 索引標籤:逐一檢查 IPAll、IP1...IPn,確認 TCP 連接埠 設為 1433(預設執行個體),啟用 = Yes。
  3. 若為具名執行個體,確保 SQL Server Browser 服務 啟動(見第四層)。

第四層:SQL Server Browser 服務

  • 具名執行個體依賴 Browser 服務解析執行個體名稱 → 連接埠。啟動 SQL Server Browser 服務並設為自動。

第五層:Windows 防火牆例外規則

  1. 輸入規則 新增:連接埠 1433 (TCP) → 允許連線 → 套用至「網域/私人/公用」依環境勾選。
  2. 程式規則 新增:sqlservr.exe(通常在 C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binn\)→ 允許連線。
  3. Browser 服務規則:UDP 連接埠 1434 允許輸入(具名執行個體必須)。

第六層:用戶端連線字串驗證

  • 預設執行個體:Server=192.168.1.100;Database=MyDB;User Id=sa;Password=xxx;
  • 具名執行個體:Server=192.168.1.100\INST1;Database=MyDB;User Id=sa;Password=xxx; 或指定連接埠 Server=192.168.1.100,1433;...
  • 測試工具:telnet 192.168.1.100 1433、Test-NetConnection -ComputerName 192.168.1.100 -Port 1433 (PowerShell)。

常見陷阱快查表

現象可能原因對策
本機可連、遠端失敗防火牆阻擋 1433/1434新增輸入規則
具名實體無法連線Browser 服務未啟動 / UDP 1434 被封啟動 Browser、開放 UDP 1434
錯誤 26 / 40TCP/IP 未啟用或連接埠錯誤組態管理員啟用 TCP/IP、確認 1433
服務無法啟動VIA 通訊協定衝突停用 VIA

結語

遠端連線問題 90% 集中在「通訊協定未啟用、防火牆未開放、Browser 服務未啟動」三項。依照本清單逐層驗證,通常 10 分鐘內即可解決。

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