Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

SQL Server 連線失敗「不存在或存取被拒」完整排查指南

編輯:XP 常見問題解答

「SQL Server 不存在或存取被拒絕」是資料庫管理員最常遇到的棘手錯誤之一,成因涵蓋網路、設定、防火牆、驅動程式等多層面。本文提供標準化 5 步驟排查流程,助您快速定位並解決問題。

步驟 1:驗證網路實體連通性

  1. Ping 測試: ping <Server_IP> 與 ping <Server_Name>。
    • IP 失敗 → 檢查網卡、交換機、路由器、網路線等硬體。
    • IP 通、名稱不通 → DNS/Hosts 解析問題。編輯 C:\Windows\System32\drivers\etc\hosts 加入對應關係 (如 10.115.223.188 SQLServer01)。
  2. 防火牆排除: 暫時關閉雙方防火牆,或開放 TCP 1433、UDP 1434 連接埠。

步驟 2:Telnet 測試 SQL 服務監聽狀態

telnet <Server_IP> 1433
  • 畫面閃爍游標 → 服務正常監聽 TCP 1433。
  • 「無法開啟連線」 → SQL 服務未啟動、未啟用 TCP/IP、或監聽非預設連接埠。

步驟 3:檢查伺服器端網路設定 (SQL Server Network Utility)

  1. 啟動「伺服器網路公用程式」(開始 → 所有程式 → Microsoft SQL Server → 伺服器網路公用程式)。
  2. 確認「已啟用的通訊協定」包含 Named Pipes 與 TCP/IP。
  3. 雙擊 TCP/IP → 屬性:
    • 預設連接埠應為 1433。
    • 「隱藏伺服器」若勾選,用戶端無法透過瀏覽發現此實例 (安全性考量可開啟)。

步驟 4:檢查用戶端網路設定 (Client Network Utility)

  1. 啟動「用戶端網路公用程式」(開始 → 所有程式 → Microsoft SQL Server → 用戶端網路公用程式)。
  2. 同樣啟用 Named Pipes 與 TCP/IP。
  3. TCP/IP 屬性中確認預設連接埠 與伺服器一致 (1433)。

步驟 5:設定用戶端別名 (簡化連線字串)

  1. 在「用戶端網路公用程式」→「別名」頁籤 → 「新增」。
  2. 別名:自訂易記名稱 (如 MyAppDB)。
    伺服器:實際伺服器名稱或 IP。
    網路程式庫:選 Named Pipes 或 TCP/IP。
  3. 應用程式連線字串即可使用 Server=MyAppDB,避免硬編碼 IP。

常見遺漏檢查清單

  • SQL Server 服務是否啟動 (MSSQLSERVER 或具名實例)
  • SQL Server Browser 服務 (具名實例必要,UDP 1434)
  • Windows 防火牆/第三方防火牆例外規則
  • 用戶端驅動程式版本 (MDAC / SNAC / ODBC) 是否相容
  • 具名實例連線格式:Server=IP\InstanceName,Port

依循上述 5 步驟逐層驗證,90% 以上的連線拒絕問題皆能釐清根因並修復。若問題持續,建議啟用 SQL Server 錯誤記錄與用戶端網路追蹤 (NetMon / Wireshark) 進行深度封包分析。

Copyright © Windows教程網 All Rights Reserved