設定用於 Database Engine 存取的 Windows 防火牆

適用範圍: 是SQL Server (所有支援的版本)

此主題描述如何使用 SQL Server 組態管理員,在 SQL Server 中設定用於 Database Engine 存取的 Windows 防火牆。 防火牆系統有助於預防未經授權存取電腦資源。 若要透過防火牆存取 SQL Server Database Engine 的執行個體,您必須在執行 SQL Server 之電腦上的防火牆設定為允許存取。

如需預設 Windows 防火牆設定的詳細資訊以及影響 Database Engine、Analysis Services、Reporting Services 和 Integration Services 之 TCP 通訊埠的描述,請參閱 設定 Windows 防火牆以允許 SQL Server 存取。 有許多防火牆系統可用。 如需系統專用的資訊,請參閱防火牆文件集。

允許存取的主要步驟包括:

  1. 將 Database Engine 設定為使用特定 TCP/IP 通訊埠。 Database Engine 的預設執行個體會使用 1433 通訊埠,不過這是可以變更的。 Database Engine 所使用的通訊埠列在 SQL Server 錯誤記錄檔中。 SQL Server Express、SQL Server Compact 的執行個體及 Database Engine 的具名執行個體都使用動態通訊埠。 若要將這些執行個體都設定為使用特定通訊埠,請參閱設定伺服器接聽特定 TCP 通訊埠 (SQL Server 組態管理員)

  2. 針對經過授權的使用者或電腦,將防火牆設定為允許存取該通訊埠。

注意

SQL Server Browser 服務可讓使用者連接至並未接聽通訊埠 1433 的 Database Engine 執行個體,而不用知道通訊埠編號。 若要使用 SQL Server Browser,您必須開啟 UDP 通訊埠 1434。 若要提升至最安全的環境,請將 SQL Server Browser 服務保留在停止狀態,並將用戶端設定為使用此通訊埠編號連接。

注意

根據預設, Microsoft Windows 會啟用 Windows 防火牆,它會關閉通訊埠 1433 來防止網際網路電腦連接到您電腦上 SQL Server 的預設執行個體。 除非您重新開啟通訊埠 1433,否則無法使用 TCP/IP 連接至預設執行個體。 下列程序將說明設定 Windows 防火牆的基本步驟。 如需詳細資訊,請參閱 Windows 文件集。

除了將 SQL Server 設定為接聽固定通訊埠並開啟此通訊埠以外,您也可以列出 SQL Server 可執行檔 (Sqlservr.exe) 做為被封鎖程式的例外。 當您想要繼續使用動態通訊埠時,請使用此方法。 不過,這個方法只能存取 SQL Server 的其中一個執行個體。

開始之前

Security

在防火牆中開啟通訊埠可能會讓您的伺服器面臨惡意攻擊的威脅。 請先確定您已了解防火牆系統,然後再開啟通訊埠。 如需相關資訊,請參閱 Security Considerations for a SQL Server Installation

使用具有 Advanced Security 的 Windows Defender 防火牆

下列程式會使用 [具有 Advanced Security 的 Windows Defender 防火牆] Microsoft Management Console (MMC) 嵌入式管理單元來設定 Windows 防火牆。 [具有 Advanced Security 的 Windows Defender 防火牆] 只會設定目前的設定檔。 如需 Windows Defender 具有 Advanced Security 之防火牆的詳細資訊,請參閱設定 Windows 防火牆以允許 SQL Server 存取

若要在 Windows 防火牆中開啟通訊埠以便 TCP 存取

  1. 在 [ 開始 ] 功能表上選取 [ 執行],輸入 Services.msc,然後選取 [確定]

  2. 在 [具有 Advanced Security 的 Windows 防火牆] 的左窗格中,以滑鼠右鍵按一下 [輸入規則],然後在 [動作] 窗格中選取 [新增規則]。

  3. 在 [ 規則類型 ] 對話方塊中,選取 [ ],然後選取 [下一步]

  4. [通訊協定及連接埠] 對話方塊中,選取 [TCP] 。 選取 [特定本機連接埠] ,然後輸入 Database Engine執行個體的通訊埠編號,例如 1433 表示預設執行個體。 選取 [下一步] 。

  5. 在 [ 動作 ] 對話方塊中,選取 [ 允許連接],然後選取 [下一步]

  6. 當您想要連接到 Database Engine ,然後選取 [下一步] 時,請在 [設定檔] 對話方塊中,選取描述電腦連線環境的任何設定檔。

  7. 在 [ 名稱 ] 對話方塊中,輸入此規則的名稱和描述,然後選取 [完成]

若要在使用動態通訊埠時開放 SQL Server 的存取

  1. 在 [ 開始 ] 功能表上選取 [ 執行],輸入 Services.msc,然後選取 [確定]

  2. 在 [具有 Advanced Security 的 Windows 防火牆] 的左窗格中,以滑鼠右鍵按一下 [輸入規則],然後在 [動作] 窗格中選取 [新增規則]。

  3. 在 [ 規則類型 ] 對話方塊中,選取 [ 程式],然後選取 [下一步]

  4. [程式] 對話方塊中,選取 [這個程式路徑] 。 選取 [流覽],並流覽至您想要透過防火牆存取的實例 SQL Server ,然後選取 [ 開啟]。 依預設, SQL Server 位於 C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe。 選取 [下一步] 。 MSSQLXX版本將會特定于您 SQL Server 的版本。

  5. 在 [ 動作 ] 對話方塊中,選取 [ 允許連接],然後選取 [下一步]

  6. 當您想要連接到 Database Engine ,然後選取 [下一步] 時,請在 [設定檔] 對話方塊中,選取描述電腦連線環境的任何設定檔。

  7. 在 [ 名稱 ] 對話方塊中,輸入此規則的名稱和描述,然後選取 [完成]

另請參閱

操作說明:設定防火牆設定 (Azure SQL Database)