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

SQL Server 連線錯誤三大經典案例與排查全流程:不存在/拒絕、登入失敗、防火牆阻擋

     編輯:關於SqlServer

錯誤一:「SQL Server 不存在或存取被拒絕」

排查步驟 (由外而內)

  1. 網路連通性:
    ping 成功 → 實體網路正常
    ping 失敗 → DNS/Hosts 檔名稱解析問題 → 補充 C:\Windows\System32\drivers\etc\hosts 對應
  2. 防火牆/ISA Server:暫時關閉防火牆或開放 TCP 1433、UDP 1434 埠再測試
  3. TCP 連線測試:
    telnet 1433
    閃爍游標 → 伺服器監聽正常
    「無法開啟連線」 → 伺服器服務未啟動、未啟用 TCP/IP、埠號非 1433
  4. 伺服器端網路設定:
    企業管理器 / SQL Server 網路公用程式 → 「一般」索引標籤
    啟用 Named Pipes 與 TCP/IP
    TCP/IP 內容 → 確認埠號 = 1433、未勾選「隱藏伺服器」(除非刻意隱藏)
  5. 用戶端網路設定:
    用戶端網路公用程式 → 啟用 Named Pipes、TCP/IP
    TCP/IP 埠號與伺服器一致
    「別名」索引標籤可設定連線別名 (類似 Hosts 檔功能)

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

原因

伺服器設為 「僅 Windows 驗證」,拒絕 SQL 登入 (如 sa)

解法

  1. 企業管理器 → 以 Windows 驗證登入 → 右鍵伺服器 → 「內容」→ 「安全性」索引標籤
  2. 「驗證模式」改為 「SQL Server 和 Windows」
  3. 重啟 SQL Server 服務

若無法以 Windows 登入管理器

  1. regedit → HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
  2. 雙擊 LoginMode (REG_DWORD) → 值從 1 (僅 Windows) 改為 2 (混合模式)
  3. 重啟 SQL Server 服務

後續:若原本內建 BUILTIN\Administrators、\Administrator 登入被刪除,需手動重建。

錯誤三:防火牆/端點阻擋 (補充)

  • Windows 防火牆 → 輸入規則 → 新增規則 → 連接埠 → TCP 1433 (資料庫引擎)、UDP 1434 (Browser 服務)
  • 具名執行個體:需開放動態埠或設定固定埠並開放該埠
  • 啟用 SQL Server Browser 服務 (UDP 1434) 協助用戶端解析具名執行個體埠號

總結排查清單

[ ] Ping IP/Name
[ ] Telnet IP:1433
[ ] Server: TCP/IP + Named Pipes Enabled, Port=1433
[ ] Client: TCP/IP + Named Pipes Enabled, Port=1433
[ ] Server Authentication Mode = Mixed (if SQL login needed)
[ ] Firewall: Inbound 1433/TCP, 1434/UDP Allowed
[ ] SQL Browser Service Running (for named instances)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved