錯誤一:「SQL Server 不存在或存取被拒絕」
排查步驟 (由外而內)
- 網路連通性:
ping 成功 → 實體網路正常
ping 失敗 → DNS/Hosts 檔名稱解析問題 → 補充 C:\Windows\System32\drivers\etc\hosts 對應
- 防火牆/ISA Server:暫時關閉防火牆或開放 TCP 1433、UDP 1434 埠再測試
- TCP 連線測試:
telnet 1433
閃爍游標 → 伺服器監聽正常
「無法開啟連線」 → 伺服器服務未啟動、未啟用 TCP/IP、埠號非 1433
- 伺服器端網路設定:
企業管理器 / SQL Server 網路公用程式 → 「一般」索引標籤
啟用 Named Pipes 與 TCP/IP
TCP/IP 內容 → 確認埠號 = 1433、未勾選「隱藏伺服器」(除非刻意隱藏)
- 用戶端網路設定:
用戶端網路公用程式 → 啟用 Named Pipes、TCP/IP
TCP/IP 埠號與伺服器一致
「別名」索引標籤可設定連線別名 (類似 Hosts 檔功能)
錯誤二:「無法連接到伺服器,使用者 'xxx' 登入失敗」
原因
伺服器設為 「僅 Windows 驗證」,拒絕 SQL 登入 (如 sa)
解法
- 企業管理器 → 以 Windows 驗證登入 → 右鍵伺服器 → 「內容」→ 「安全性」索引標籤
- 「驗證模式」改為 「SQL Server 和 Windows」
- 重啟 SQL Server 服務
若無法以 Windows 登入管理器
regedit → HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
- 雙擊
LoginMode (REG_DWORD) → 值從 1 (僅 Windows) 改為 2 (混合模式)
- 重啟 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)