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

SQL Server 連線失敗排查全攻略:不存在、拒絕存取、逾時

     編輯:關於SqlServer

遇到「SQL Server 不存在或存取被拒絕」或「連線逾時」錯誤時,請依下列四階段診斷流程由淺入深排查,快速定位根因。

第 1 階段:網路實體連通性

ping <伺服器 IP>
ping <伺服器名稱>
  • IP 不通 → 檢查網卡、交換器、路由器、防火牆(含 ISA Server)是否封鎖 ICMP。
  • IP 通但名稱不通 → DNS 解析異常,檢查 DNS 服務或編輯 C:\WINNT\system32\drivers\etc\hosts 加入對應:
    172.168.10.24 myserver

第 2 階段:TCP 1433 埠可用性

telnet <伺服器 IP> 1433
  • 閃爍游標 → 伺服器正常監聽 1433。
  • 「無法開啟連線」→ 伺服器端 SQL Server 服務未啟動、未啟用 TCP/IP 協定、或埠號非預設值。

第 3 階段:伺服器端網路設定

執行 SQL Server 伺服器網路公用程式:

  • 「一般」頁籤確認已啟用 命名管道 與 TCP/IP。
  • TCP/IP 屬性檢查預設埠(預設 1433),若勾選「隱藏伺服器」僅影響列舉,不影響連線。

第 4 階段:用戶端網路設定

執行 SQL Server 用戶端網路公用程式:

  • 同樣啟用命名管道與 TCP/IP,且預設連接埠必須與伺服器一致。
  • 「別名」頁籤可建立伺服器別名(類似 hosts 功能),指定網路庫為 TCP/IP、伺服器名稱填 IP 或實例名。

常見錯誤與解決方案

錯誤:「無法連接到伺服器,使用者 xxx 登入失敗」

原因:伺服器設為「僅 Windows 驗證」,無法使用 SQL 登入(如 sa)。

  1. 企業管理器以 Windows 驗證登入 → 伺服器屬性 → 安全性 → 改為「SQL Server 和 Windows」 → 重啟服務。
  2. 若無法以 Windows 登入,改修改登錄:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode 值 1→2,重啟服務。
  3. 補回預設登入 BUILTIN\Administrators 及 <機器名>\Administrator,角色指定 sysadmin。

錯誤:「連線逾時」

常見於跨網段、低速連線或網路擁塞。調整用戶端逾時值:

  • 企業管理器:工具 → 選項 → 進階 → 登入逾時(秒)改為 20 以上。
  • 查詢分析器:工具 → 選項 → 連線 → 登入逾時改大數值。

快速驗證清單

  1. Ping IP 通
  2. telnet IP 1433 成功
  3. 企業管理器用 IP 建立註冊,選 SQL 登入,輸入 sa/密碼
  4. 仍失敗 → 伺服器端啟用 WinSock Proxy,Proxy 位址填伺服器 IP、埠 1433
  5. 仍失敗 → 用戶端建立別名,網路庫 TCP/IP,伺服器名填遠端 IP

依序執行上述步驟,90% 以上連線問題可獲解決。

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