設定防火牆

簡介 Windows 防火牆

前言

防火牆系統 有助於防止未經授權存取電腦資源。 如果防火牆已開啟但未正確設定,系統可能會封鎖針對 SQL Server 的連線嘗試。

防火牆系統在保護公司電腦資源與防止未經授權的存取中扮演著至關重要的角色。若防火牆已啟用但設定不當,可能會阻擋對 SQL Server 的合法連線請求。因此,建立一套標準化且正確的防火牆設定程序,對於保障 SQL Server 的連線穩定性與整體系統安全性至關重要。

防火牆設定的領域

  • 前置作業:
    存取 Windows 防火牆進階設定介面。
  • 核心規則建立:
    設定允許特定通訊埠 (1433) 與核心程式 (sqlserver.exe, sqlbrowser.exe, ssms.exe) 的輸入規則。
  • 最終驗證:
    透過 SQL Server 組態管理員啟用網路協定並重啟服務。

Windows 防火牆中需要設定的列表


前置作業:存取 Windows 防火牆進階設定

Windows 防火牆與進階安全性」是進行所有精細規則設定的管理中心。熟悉如何存取此介面是執行後續所有步驟的基礎。

請遵循以下步驟進入「新增輸入規則」介面:

  1. 開啟: Windows 控制台。
  2. 執行:「網路和共用中心」。
  3. 執行:「Windows 防火牆」。
  4. 執行:「進階設定」。
  5. 選取:「輸入規則」,然後在右側操作窗格中執行「新增規則」。

成功進入設定介面後,我們將開始逐一建立保障 SQL Server 正常運作所需的特定規則。

  1. 開啟網路和共用中心

  2. 執行 Windows 防火牆

  3. 執行 進階設定

  4. 新增輸入規則


建立防火牆輸入規則

建立精確的「輸入規則」是防火牆設定的核心策略。我們將採用「通訊埠」和「程式」兩種不同類型的規則,以建立一個多層次的防護策略,確保只有合法的 SQL Server 流量能夠進入伺服器。

規則類型用途與優點
連接埠 (Port) 規則針對特定網路通訊埠(如 1433)開放存取,設定直接且明確。
程式 (Program) 規則允許特定應用程式(如 sqlserver.exe
通過防火牆,即使該程式使用的通訊埠變更,規則依然有效,更具彈性。
  1. 規則一:
    設定 TCP 通訊埠 1433
    通訊埠 1433SQL Server 資料庫引擎預設的接聽通訊埠。允許此通訊埠的 TCP 流量是客戶端應用程式能夠連線到資料庫的基本要求。

    步驟設定項目設定值說明
    1規則類型連接埠選擇以通訊埠為基礎的規則。
    2通訊協定及連接埠TCP/1433指定 SQL Server 預設的TCP 通訊埠。
    3動作允許連線設定此規則為允許流量通過。
    4設定檔網域、私人、公用(全部勾選)確保在所有網路環境下規則都生效。
    5名稱SQL 1433 Port為此規則設定一個易於識別的名稱。





  2. 規則二:
    允許 SQL Server 主程式 (sqlserver.exe)

    直接允許 sqlserver.exe 執行檔是另一種重要的設定方法。這種方法不受通訊埠變更的影響,當 SQL Server 執行個體使用動態通訊埠或未使用預設通訊埠時,此規則提供了更高的設定彈性。

    步驟設定項目設定值說明
    1規則類型程式選擇以特定執行檔為基礎的規則。
    2程式這個程式路徑需手動指定 sqlservr.exe 的完整路徑。
    3動作允許連線設定此規則為允許流量通過。
    4設定檔網域、私人、公用
    (全部勾選)
    確保在所有網路環境下規則都生效。
    5名稱SQL Server為此規則設定一個易於識別的名稱。

    SQL Server 主程式 (sqlservr.exe) 的路徑會因安裝的版本與執行個體而異,設定時請務必確認實際路徑。

    範例路徑:
    C:\Program Files\Microsoft SQL Server\MSSQL17.SQL2025\MSSQL\Binn\sqlservr.exe






  3. 規則三:
    允許 SQL Server 主程式 (sqlserver.exe)

    SQL Server Browser 服務是一項輔助服務,它會聆聽傳入的請求,並提供用戶端電腦上所安裝之 SQL Server 執行個體的相關資訊,協助用戶端連接到非預設埠或具名執行個體。因此,允許 sqlbrowser.exe 對於非使用預設執行個體的連線至關重要。

    步驟設定項目設定值說明
    1規則類型程式選擇以特定執行檔為基礎的規則。
    2程式這個程式路徑需手動指定 sqlbrowser.exe 的完整路徑。
    3動作允許連線設定此規則為允許流量通過。
    4設定檔網域、私人、公用
    (全部勾選)
    確保在所有網路環境下規則都生效。
    5名稱SQL Browser為此規則設定一個易於識別的名稱。





    SQL Server Browser 的路徑通常是固定的,但仍建議進行確認。您可以透過 Windows「服務」管理主控台,找到 "SQL Server Browser" 服務的內容來查詢其執行檔的確切路徑。

    範例路徑:
    C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe




  4. 規則四:
    允許 SQL Server Management Studio (ssms.exe)
    雖然 SQL Server Management Studio (SSMS) 主要是用戶端工具,但在某些特定的遠端管理或診斷情境下(例如從伺服器本機執行 SSMS 連接到其他伺服器),為其建立防火牆規則可以避免潛在的連線問題。

    步驟設定項目設定值說明
    1規則類型程式選擇以特定執行檔為基礎的規則。
    2程式這個程式路徑需手動指定 SSMS.exe 的完整路徑。
    3動作允許連線設定此規則為允許流量通過。
    4設定檔網域、私人、公用
    (全部勾選)
    確保在所有網路環境下規則都生效。
    5名稱SQLSSMS

    SSMS 的安裝路徑會因版本而異。最簡單的尋找方式是找到 SSMS 的桌面或開始功能表捷徑,右鍵點擊並查看其「內容」,即可找到目標執行檔的完整路徑。

    範例路徑:
    C:\Program Files\Microsoft SQL Server Management Studio 22\Release\Common7\IDE\SSMS.exe

    在完成上述所有防火牆規則設定後,我們還必須確保 SQL Server 本身的網路組態已正確啟用,才能完成整個連線設定流程。










最終驗證:設定 SQL Server 組態管理員

僅設定防火牆規則並不足夠。我們還必須使用 「SQL Server 組態管理員」 來確保 SQL Server 服務本身已啟用網路通訊協定,並正在監聽指定的通訊埠。這一步是將防火牆設定與資料庫服務實際行為連接起來的關鍵,確保外部連線請求能夠被 SQL Server 服務接收並處理。

SQL Server 組態管理員是一個專門用來管理 SQL Server 相關服務、設定網路通訊協定,以及管理用戶端網路連接組態的 Microsoft Management Console (MMC) 嵌入式管理單元。

  1. 存取 SQL Server 組態管理員
    定位組態管理員
    檔案位於 C:\Windows(SysWOW64)

    組態管理員是透過特定的 .msc 檔案啟動的,且檔案名稱與 SQL Server 版本直接對應。您需要使用與您要管理的 SQL Server 版本相符的檔案。

    SQL Server 版本組態管理員路徑
    SQL Server 2025C:\Windows\SysWOW64\SQLServerManager17.msc
    SQL Server 2022C:\Windows\SysWOW64\SQLServerManager16.msc
    SQL Server 2019C:\Windows\SysWOW64\SQLServerManager15.msc
    SQL Server 2017C:\Windows\SysWOW64\SQLServerManager14.msc
    SQL Server 2016C:\Windows\SysWOW64\SQLServerManager13.msc
    SQL Server 2014C:\Windows\SysWOW64\SQLServerManager12.msc
    SQL Server 2012C:\Windows\SysWOW64\SQLServerManager11.msc
  2. 啟用網路通訊協定與服務重啟
    這是整個設定流程的最後一個關鍵步驟,用以確保 SQL Server 服務真正在網路上「監聽」連線請求。

    請依照以下流程完成最終設定:

    • 執行
      根據您的 SQL Server 版本,執行對應的 .msc 檔案以開啟 SQL Server 組態管理員。
    • 啟用
      在左側窗格中,展開 「SQL Server 網路組態」,並確保目標執行個體下的所有通訊協定(尤其是 TCP/IP)均設定為「已啟用」。
    • 驗證
      TCP/IP 的內容中,確認 IP 位址頁籤下的 1433 Port 均已啟用。


    • 重新啟動
      完成上述變更後,務必在 「SQL Server 服務」 節點中找到對應的 SQL Server服務,並執行「重新啟動」,以套用新的網路組態。

總結與最佳實踐

設定完成與驗證
請確認以下所有步驟均已成功執行,以確保遠端連線功能正常運作。

  • Windows 防火牆規則已建立(Port 1433,Executables)
  • TCP/IP 通訊協定已啟用
  • IP All TCP Port 已綁定 1433
  • SQL Server 服務已重新啟動

Result: 資料庫現在已準備好接受來自網路的遠端連線。
如仍無法連線,請檢查網路層級(如路由器或雲端 Security Group)的設定。

本文設定 SQL Server 防火牆的完整流程,涵蓋了兩個核心領域:

  1. 建立 Windows 防火牆的四項關鍵輸入規則,
  2. 透過 SQL Server 組態管理員進行最終的網路協定設定。

為確保設定的準確性與安全性,請務必遵循以下最佳實踐:

  • 路徑確認:
    在設定程式規則時,務必親自驗證 sqlserver.exesqlbrowser.exe 及 ssms.exe 的實際安裝路徑,因為它們會隨著軟體版本更新而變更。
  • 雙重驗證:
    防火牆規則的建立與 SQL Server 組態管理員的設定必須同時完成,兩者缺一不可。僅有防火牆規則而未啟用網路協定,連線依然會失敗。
  • 服務重啟:
    在組態管理員中進行的任何網路協定或通訊埠變更,都必須透過「重新啟動」 SQL Server 服務才能正式生效。

嚴格遵循此標準作業程序,是維護資料庫系統安全邊界與保障外部連線穩定性的基石。