Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

SQL Server 防火牆埠一鍵開放批次檔(適用 2008/2012/2016/2019)

編輯:關於伺服器

在 Windows Server 上部署 SQL Server 時,若啟用 Windows 防火牆,預設會封鎖所有入站連線,導致遠端無法連線資料庫。手動逐一新增 10+ 條入站規則既繁瑣又易遺漏。本文提供一支經測試可用的批次檔(.bat),可一次性開放 SQL Server 所有必要埠(含資料庫引擎、SSAS、SSRS、Browser Service、RPC 等),支援 SQL Server 2008 至 2019 所有版本。

需開放的埠清單

埠號協定用途
1433TCP預設執行個體資料庫引擎
1434TCP專用管理員連線 (DAC)
4022TCPService Broker
135TCPRPC / Transact-SQL 偵錯
2383TCPAnalysis Services (SSAS) 預設執行個體
2382TCPSQL Server Browser Service
80TCPHTTP (Reporting Services / Web 服務)
443TCPHTTPS (SSL)
1434UDPSQL Server Browser 瀏覽按鈕

批次檔內容(儲存為 Open_SQL_Ports.bat,以系統管理員身分執行)

@echo off
echo ==========================================
echo  SQL Server 必要埠防火牆開放腳本
echo  適用:SQL Server 2008 / 2012 / 2016 / 2019
echo  需以系統管理員權限執行
echo ==========================================

REM 資料庫引擎核心埠
netsh advfirewall firewall add rule name="SQL Server (TCP 1433)" dir=in action=allow protocol=TCP localport=1433
netsh advfirewall firewall add rule name="SQL Admin Connection (TCP 1434)" dir=in action=allow protocol=TCP localport=1434
netsh advfirewall firewall add rule name="SQL Service Broker (TCP 4022)" dir=in action=allow protocol=TCP localport=4022
netsh advfirewall firewall add rule name="SQL Debugger/RPC (TCP 135)" dir=in action=allow protocol=TCP localport=135

REM Analysis Services
netsh advfirewall firewall add rule name="Analysis Services (TCP 2383)" dir=in action=allow protocol=TCP localport=2383
netsh advfirewall firewall add rule name="SQL Browser (TCP 2382)" dir=in action=allow protocol=TCP localport=2382

REM Web / SSL
netsh advfirewall firewall add rule name="HTTP (TCP 80)" dir=in action=allow protocol=TCP localport=80
netsh advfirewall firewall add rule name="HTTPS/SSL (TCP 443)" dir=in action=allow protocol=TCP localport=443

REM Browser Service UDP
netsh advfirewall firewall add rule name="SQL Browser (UDP 1434)" dir=in action=allow protocol=UDP localport=1434

REM 允許多播廣播回應 (Browser 服務枚舉)
netsh advfirewall set global multicastbroadcastresponse enable

echo.
echo 所有規則已新增完成!請在「高級安全性 Windows 防火牆」→「輸入規則」中確認。
pause

使用說明

  1. 將上述內容複製記事本,存為 Open_SQL_Ports.bat。
  2. 右鍵點選檔案 → 「以系統管理員身分執行」。
  3. 執行完成後,開啟 wf.msc(高級安全性 Windows 防火牆)→「輸入規則」確認規則已建立並啟用。
  4. 若使用非預設埠(如 14330),請修改腳本中對應 localport 參數。

注意事項

  • 腳本使用 netsh advfirewall(Windows Vista/Server 2008 以上支援),舊版 netsh firewall 已棄用,不建議使用。
  • 若伺服器同時部署多個具名執行個體,需額外開放各執行個體動態埠,或設定固定埠後對應開放。
  • 生產環境建議僅開放必要埠,並限制來源 IP 範圍(腳本可加 remoteip=10.0.0.0/8,192.168.0.0/16 參數)。
  • 執行後建議立即測試:telnet 1433 或 SSMS 遠端連線驗證。

一鍵腳本讓繁瑣的防火牆配置變得標準化、可重複、可版控。建議將此腳本納入伺服器初始化自動化流程(Ansible/PowerShell DSC/SCCM),確保每台 SQL Server 節點防火牆策略一致合規。

Copyright © Windows教程網 All Rights Reserved