常見問題:防火牆已開 TCP 1433/動態埠,仍無法瀏覽/連線 SQL Server 命名執行個體。根因:**UDP 1434 未開放**。
背景知識
- 預設執行個體固定監聽 TCP 1433。
- 命名執行個體啟動時動態配置 TCP 埠 (或指定固定埠)。
- 用戶端連線命名執行個體時,**必須先向 UDP 1434 查詢執行個體對應的 TCP 埠**。
SQL Server Browser 服務角色
- 監聽 UDP 1434。
- 回應用戶端:執行個體名稱 ↔ TCP 埠號 對應清單。
- 服務啟動後**永遠固定綁定 UDP 1434**,無法更改埠號。
排查清單
- 確認 SQL Server Browser 服務啟動 (services.msc)。
- 防火牆/網路設備**入站規則開放 UDP 1434**。
- 用戶端測試:
sqlcmd -S ServerName\InstanceName 或 SSMS 註冊伺服器。
- 若仍失敗,檢查用戶端 SQL Server Browser 服務是否運行 (用戶端也需此服務解析)。
常見誤區
- 「只開 TCP 埠就夠了」→ 忽略解析步驟。
- 「動態埠每次重啟不同」→ 正因如此才需要 UDP 1434 即時查詢。
- 「已開 UDP 1434 但內網仍失敗」→ 檢查網路隔離區段、VPN、雲端安全群組是否同步放行。
總結
UDP 1434 是命名執行個體連線的「電話簿查詢服務」。部署 SQL Server 命名執行個體時,防火牆規則**必須同時包含 TCP (資料傳輸) 與 UDP 1434 (埠號解析)**,缺一不可。