現象
本機用 (local) 或電腦名可連線,但用 IP (如 192.168.1.100) 連線失敗。
根因
- TCP/IP 協定未啟用或埠未固定。
- SQL Browser 服務未啟動 (具名執行個體)。
- 防火牆阻擋 TCP 1433 / UDP 1434。
- 用戶端連線字串未指定協定前綴
tcp:。
伺服器端設定 (SQL Server 組態管理員)
- SQL Server 服務 → 右鍵執行個體 → 內容 → 登入 → 選 Network Service (或具權限網域帳號),重啟服務。
- SQL Server 網路組態 → 執行個體協定 → 右鍵 TCP/IP → 啟用。
再右鍵 內容 → IP 位址 分頁:
- 清空所有 TCP 動態連接埠。
- IPAll 的 TCP 連接埠 設為 1433。
- 所有 IP 的 作用中、已啟用 設為 是。
- SQL Native Client 組態 → 用戶端協定 → TCP/IP → 預設連接埠 = 1433、已啟用 = 是。
- 重啟 SQL Server 服務。
用戶端連線設定 (SSMS)
- 伺服器名稱:
tcp:192.168.1.100,1433 (明確指定 TCP 與埠)。
- 或在 選項 → 連線屬性 → 網路協定 選 TCP/IP。
啟用 sa 登入 (遠端連線必備)
- SSMS 連線 → 伺服器右鍵 內容 → 安全性 → SQL Server 和 Windows 驗證模式,重啟服務。
- 展開 安全性 → 登入 → sa → 右鍵 內容:
- 一般:設定強式密碼。
- 使用者對應:勾選目標資料庫 db_owner。
- 狀態:授與 連線權限、啟用 登入。
驗證
在另一台電腦用 tcp:IP,1433 + sa 登入,應成功。若失敗,檢查:
- 伺服器
netstat -an | findstr 1433 確認監聽中。
- 用戶端
telnet IP 1433 測試連通性。
- 錯誤記錄檔 (
ERRORLOG) 是否有「Server is listening on [IP:1433]」。