錯誤訊息:An error has occurred while establishing a connection to the server... SQL Server does not allow remote connections (provider: Named Pipes Provider, error: 40)。
排查清單 (依序執行)
- 伺服器屬性設定 (SSMS 右鍵伺服器 → 屬性):
- 安全性 頁籤:選取 SQL Server 和 Windows 驗證模式。
- 連線 頁籤:勾選 允許遠端連接到這部伺服器。
- SQL Server 組態管理員 (SQL Server Configuration Manager):
- SQL Server 網路組態 → MSSQLSERVER 的通訊協定:啟用 TCP/IP 與 Named Pipes。
- 右鍵 TCP/IP → 屬性 → IP 位址 索引標籤:
- IP1 (實際 IP):啟用 = 是、TCP 連接埠 = 1433。
- IPAll:TCP 動態連接埠 = 空白、TCP 連接埠 = 1433 (關鍵!預設常遺漏此處)。
- 介面區域組態工具 (Surface Area Configuration):
- 「為服務與連線設定介面區域」→ Database Engine → 遠端連線:選擇「本機與遠端連線」並啟用 TCP/IP。
- Windows 防火牆:
- 新增輸入規則,允許 TCP 1433 (SQL Server) 與 UDP 1434 (SQL Browser)。
- SQL Browser 服務:確認已啟動 (命名執行個體必須)。
常見遺漏點
TCP/IP 屬性 → IPAll 區段未設定固定連接埠 1433,導致雖啟用 TCP/IP 但實際未監聽 1433。修正後需重啟 SQL Server 服務生效。
完成上述步驟,使用 telnet 1433 驗證連線通暢。