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

SQL Server 連線失敗完整排查指南:從網路層到驗證模式

     編輯:關於SqlServer

五層排查法則

遵循 OSI 模型自下而上:物理連線 → 網路通訊 → 伺服器設定 → 用戶端設定 → 驗證授權。

第 1 層:物理連通性

ping 

失敗 → 檢查網路纜線、交換器、VPN、防火牆、IP 拼寫。

第 2 層:埠連通性

telnet  1433

預設埠 1433。失敗常見原因:

  1. SQL Server 服務未啟動
  2. TCP/IP 協定未啟用:SQL Server 組態管理器 → 網路設定 → TCP/IP → 啟用
  3. 埠號非 1433:TCP/IP 屬性 → IP Addresses → TCP Port 確認
  4. 「隱藏伺服器」勾選 → 隱含埠變 2433,客戶端須指定埠
  5. Windows 防火牆封鎖:新增輸入規則允許 1433(或自訂埠)
  6. 伺服器未監聽:netstat -an | findstr 1433 無 LISTENING → 需打 SP3+ 修補程式

第 3 層:用戶端網路設定

用戶端網路公用程式 → 啟用 TCP/IP → 預設埠與伺服器一致。

第 4 層:工具連線測試

  • 查詢分析器:預設逾時 15 秒,較寬鬆
  • 企業管理員:預設逾時 4 秒,易誤判 → 工具 → 選項 → 進階 → 登入逾時調大

第 5 層:驗證模式陷阱

錯誤:「登入失敗,使用者 'sa' 未與信任的 SQL Server 連線相關聯」

原因:伺服器設為 僅 Windows 驗證,拒絕 SQL 驗證帳號。

解決:企業管理員 → 右鍵伺服器 → 內容 → 安全性 → SQL Server 和 Windows → 重啟服務(net stop mssqlserver && net start mssqlserver)。

本地 vs 遠端協定差異

本地預設用 命名管道(埠 445),遠端必須用 TCP/IP。本地連得上不代表遠端能連。

快速檢查清單

步驟指令/動作預期結果
1ping IP回應正常
2telnet IP 1433螢幕閃爍、游標閃動
3伺服器 netstat -an0.0.0.0:1433 LISTENING
4查詢分析器連線成功登入
5驗證模式檢查混合模式

進階診斷工具

  • SQL Server Configuration Manager:圖形化管理協定、埠、服務
  • PortQry.exe:Microsoft 官方埠掃描工具,支援 UDP/TCP
  • Test-Port PowerShell:Test-NetConnection -ComputerName -Port 1433
  • SQL Server 錯誤記錄檔:啟動時記錄監聽埠、驗證模式
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved