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

SQL Server IP 連線失敗完整排查:啟用 TCP/IP、通訊埠 1433、Hosts 檔與防火牆關鍵設定

     編輯:關於SqlServer

常見症狀

  • 連線字串 Server=127.0.0.1;Database=...;Uid=sa;Pwd=... 無法連線,拋出網路錯誤。
  • SSMS 登入視窗輸入 IP(如 192.168.1.100 或 127.0.0.1)提示「無法連線」或「逾時」。
  • 使用 localhost 或 . 卻能正常連線。

根本原因:TCP/IP 協定未啟用或通訊埠未對

SQL Server 預設安裝後,**Shared Memory**(共用記憶體)協定啟用,**TCP/IP 常為停用**。本機用 Shared Memory 連線無問題,跨機器或用 IP 則必須走 TCP/IP。

圖解啟用步驟(SQL Server Configuration Manager)

  1. 開啟 SQL Server 設定管理員(開始 → Microsoft SQL Server → 設定工具)。
  2. 左側展開 SQL Server 網路設定 → 選取執行個體(如 MSSQLSERVER 或 SQLEXPRESS 的「通訊協定」)。
  3. 右側將 TCP/IP 狀態從「已停用」改為「已啟用」(雙擊或右鍵啟用)。
  4. 同樣在 SQL Native Client 設定 → 用戶端通訊協定 下,確認 TCP/IP 也是「已啟用」。
  5. 雙擊 TCP/IP → 「IP 位址」頁籤 → 捲動至 IPAll 區塊 → 確認 TCP 通訊埠 = 1433(若為 0 或空白,請填入 1433 並清除 TCP 動態連接埠欄位)。
  6. 重啟 SQL Server 服務(右鍵「SQL Server 服務」→ 對應執行個體 → 重新啟動)。

補充:本機用 localhost/127.0.0.1 仍失敗?檢查 Hosts 檔

路徑:C:\Windows\System32\drivers\etc\hosts
以記事本(系統管理員)開啟,確認包含:


127.0.0.1       localhost
::1             localhost

若缺漏請補上,存檔後重啟電腦(或執行 ipconfig /flushdns)。

防火牆與進階檢查清單

項目檢查方式
Windows 防火牆入站規則控制台 → 進階安全性 → 入站規則 → 新增規則 → 連接埠 → TCP 1433 → 允許連線
防毒軟體/第三方防火牆暫時關閉測試,確認後加入例外
SQL Browser 服務若使用具名執行個體(如 .\SQLEXPRESS),需啟用 SQL Browser 服務(UDP 1434)
網路連通性客戶端 telnet <ServerIP> 1433 或 Test-NetConnection -Port 1433 驗證
錯誤記錄SSMS → 管理 → SQL Server 記錄 → 目前錯誤記錄,搜尋「TCP」或「1433」

連線字串最佳實踐



Server=192.168.1.100,1433;Database=MyDB;User ID=sa;Password=******;Encrypt=False;TrustServerCertificate=True;


Server=192.168.1.100\SQLEXPRESS;Database=MyDB;User ID=sa;Password=******;

建議明確指定連接埠(,1433),避免依賴 SQL Browser 解析失敗。

結語

「IP 連不上、本機卻 OK」90% 是 **TCP/IP 未啟用或通訊埠錯誤**。依照「設定管理員 → 啟用 TCP/IP → 固定 1433 → 重啟服務 → 防火牆放行 → Hosts 檔確認」六步驟,絕大多數情況即可解決。下次遇到連線問題,請先打開設定管理員看一眼 TCP/IP 狀態,別再猜測帳號密碼了。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved