錯誤現象
通過端口 1433 連接到主機 127.0.0.1 的 TCP/IP 連接失敗。錯誤: "connect timed out"。請驗證連接屬性,並檢查 SQL Server 的實例正在主機上運行,且在此端口接受 TCP/IP 連接,還要確保防火牆沒有阻止到此端口的 TCP 連接。
四步驟完整解決
1. SQL Server 組態管理器:啟用 TCP/IP 並固定埠 1433
- 展開 SQL Server 網路組態 → MSSQLSERVER 的通訊協定
- 右鍵 TCP/IP → 啟用
- 右鍵 內容 → IP 位址 索引標籤
- 捲動至 IPAll:TCP 連接埠 = 1433 (清除 TCP 動態連接埠)
- 確定 → 重啟 SQL Server 服務
2. SQL Native Client 組態:同步設定預設埠
- 展開 SQL Native Client 10.0 組態 → 用戶端通訊協定
- 右鍵 TCP/IP → 啟用
- 右鍵 內容 → 預設連接埠 = 1433
3. Windows 防火牆:開放 1433 或關閉防火牆 (測試環境)
- 控制台 → 系統與安全性 → Windows 防火牆
- 進階設定 → 輸入規則 → 新增規則 → 連接埠 → TCP → 1433 → 允許連線
- 或測試環境直接:關閉 Windows 防火牆 (生產環境禁止)
4. 驗證連線
- 命令列:
telnet localhost 1433 或 Test-NetConnection localhost -Port 1433
- SSMS:使用
127.0.0.1,1433 連接測試
- Java 程式:重新執行連接測試
常見遺漏檢查清單
| 項目 | 檢查方式 |
| SQL Server 服務是否運行 | services.msc → SQL Server (MSSQLSERVER) |
| 錯誤日誌確認監聽埠 | ERRORLOG 搜尋 "Server is listening on" |
| 具名實例需 SQL Browser | 服務 → SQL Server Browser → 執行中 |
| 反毒軟體/雲端防火牆 | 第三方安全軟體可能攔截 |
| IPv6 vs IPv4 | 嘗試 127.0.0.1 (IPv4) 而非 localhost |