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

SQL Server 遠端連線疑難排解完整指南:從 Ping 到 Telnet 到用戶端設定

     編輯:關於SqlServer

前言

「SQL Server 不存在或存取被拒絕」是最常見也最複雜的連線錯誤。本文提供系統化排查流程:物理連線 → 服務狀態 → 伺服端網路 → 用戶端網路。

階段一:物理網路連通性

ping <伺服器IP>
ping <伺服器名稱>
  • IP 失敗 → 檢查網卡、Switch、Router、防火牆 (含 ISA Server 等軟體防火牆)
  • IP 通、名稱失敗 → DNS 解析問題,或跨網段無法解析 NetBIOS

跨網段解析對策:編輯 C:\Windows\System32\drivers\etc\hosts 加入對應:

172.168.10.24  myserver

或用戶端網路工具設定別名 (見階段四)。

階段二:SQL Server 服務與連接埠

telnet <伺服器IP> 1433
  • 成功:閃爍游標 → 服務正常、監聽 TCP 1433
  • 「無法開啟連線」→ 服務未啟動、未啟用 TCP/IP、非預設連接埠、防火牆封鎖

階段三:伺服端網路設定 (SQL Server 網路工具)

路徑:開始 → 程式集 → Microsoft SQL Server → 伺服器網路公用程式

  • 啟用協定:建議啟用 Named Pipes + TCP/IP
  • TCP/IP 屬性:確認連接埠 (預設 1433)、「隱藏伺服器」僅影響列舉不影響連線
  • Named Pipes 屬性:管道名稱預設 \\.\pipe\sql\query

階段四:用戶端網路設定 (用戶端網路公用程式)

路徑:開始 → 程式集 → Microsoft SQL Server → 用戶端網路公用程式

  • 啟用協定:同樣啟用 Named Pipes + TCP/IP
  • TCP/IP 屬性:預設連接埠必須與伺服端一致
  • 別名頁籤**:設定易記名稱對應真實伺服器
    別名: myserver
    伺服器: sql2kcn-02
    網路庫: Named Pipes / TCP/IP
    
    相當於 hosts 檔但專用於 SQL Server 連線。

階段五:驗證模式與登入錯誤 (錯誤 2)

企業管理員/查詢分析器用 sa 連線失敗常見原因:

  • 伺服器設為 僅 Windows 驗證,不接受 SQL Server 驗證
  • sa 密碼錯誤或帳號鎖定
  • 用戶端協定順序錯誤 (Named Pipes 優先但伺服端未啟用)

解決:企業管理員 → 伺服器屬性 → 安全性 → 選擇「SQL Server 和 Windows」混合模式 → 重啟服務。

常見錯誤代碼速查

錯誤可能原因排查方向
17 / 53 / 64網路不通、名稱解析失敗Ping、Hosts、DNS、防火牆
1433 連線失敗服務未啟動、TCP 未啟用、防火牆封鎖Telnet、伺服端網路工具、防火牆規則
18452 / 18456驗證模式不符、密碼錯誤伺服器驗證模式、sa 密碼、登入對應
233 / 10054連線中斷、封包過大MTU 設定、VPN/防火牆逾時

防火牆開放規則清單

  • TCP 1433 (預設執行個體)
  • TCP 1434 (DAC 專用管理連線)
  • UDP 1434 (SQL Browser 服務,具名執行個體探索)
  • TCP 445 (Named Pipes / SMB)
  • 動態連接埠範圍 (具名執行個體,建議固定連接埠)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved