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

SQL Server 連線失敗常見錯誤代碼與解決方案彙總

     編輯:關於SqlServer

SQL Server 連線失敗是開發與維運最常遇到的問題。連線方式分為「用戶端工具」(企業管理器、查詢分析器) 與「應用程式」(ASP、VB、.NET 透過 ODBC/OLE DB)。以下彙整高頻錯誤與對策:

一、用戶端工具連線失敗

1. 「SQL Server 不存在或存取被拒絕」

  • 原因:伺服器名稱錯誤、網路不通、SQL Server 服務未啟動、通訊協定未啟用、防火牆阻擋。
  • 排查:確認服務運行、ping 主機、telnet 1433、組態管理員啟用 TCP/IP/Named Pipes、防火牆開放 1433/1434。

2. 「使用者 'sa' 登入失敗。原因: 未與信任的 SQL Server 連接關聯」

  • 原因:伺服器驗證模式為「僅 Windows 驗證」,不接受 SQL Server 驗證帳號。
  • 解決:SSMS → 伺服器屬性 → 安全性 → 選取「SQL Server 和 Windows 驗證模式」→ 重啟服務。

3. 「逾時已過期」

  • 原因:網路延遲、封包遺失、伺服器負載過高、連線字串 Connection Timeout 設定過短。
  • 解決:檢查網路品質、優化查詢、調大連線逾時值 (預設 15 秒)。

二、應用程式連線失敗 (ODBC/OLE DB/ADO.NET)

  • 驅動程式版本不符:確認用戶端安裝的 MDAC / SQL Native Client / ODBC Driver 版本與伺服器相容。
  • 連線字串錯誤:Server、Database、UID/PWD 或 Trusted_Connection 拼寫錯誤。
  • SPN / Kerberos 問題:雙躍點驗證失敗,需設定 SPN 或改用 SQL 驗證。
  • 連線池耗盡:程式未正確關閉連線 (Close/Dispose),導致池滿無法取得新連線。

通用診斷步驟

  1. 在伺服器本機用 SSMS 連線測試 (排除網路)。
  2. 用 telnet ip 1433 測試連接埠通達性。
  3. 檢查 SQL Server 錯誤記錄檔 (ERRORLOG) 與 Windows 事件檢視器。
  4. 啟用用戶端追蹤 (ODBC 追蹤、OLE DB 服務元件追蹤) 取得詳細錯誤堆疊。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved