配置 Windows 防火牆以允許 SQL Server 訪問的 2 種方法
默認情況下,Windows 防火牆不允許 SQL Server 的入站/出站請求。如果您嘗試從網絡連接到 SQL Server 實例,您可能會收到錯誤消息“找不到服務器或無法訪問服務器”。在本教程中,我們將向您展示兩種配置 Windows 防火牆以允許 SQL Server 訪問的方法。
方法 1:通過控制面板允許 SQL Server 訪問
- 在大圖標或小圖標視圖中打開控制面板,單擊Windows 防火牆。

- 點擊鏈接“允許程序或功能通過 Windows 防火牆” 在窗口的左側。

- 您現在將看到一個列表,其中包含允許通過 Windows 防火牆進行通信的所有應用程序。要更改規則,您需要單擊更改設置按鈕。規則列表將不再是灰色的,您將能夠對其進行編輯。

- 單擊“允許另一個程序...“ 按鈕。

- 在“添加程序”窗口中,單擊瀏覽按鈕。

- 導航到 SQL Server 實例的安裝路徑並選擇 sqlservr.exe,然後單擊打開。在我的示例中,位置是
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe。
- 您將返回到“添加程序”窗口,並看到 SQL Server 已添加到列表中。單擊添加按鈕。

- SQL Server 現在顯示在允許的程序和功能列表中。您可以檢查任何位置類型:私人或公共。完成後,按好的。

方法 2:通過命令提示符允許 SQL Server 訪問
- 打開提升的命令提示符。
- 您可以運行Netsh adv防火牆命令打開 SQL Server 連接的所有端口。假設 SQL Server 服務的路徑為 C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe,複製/粘貼以下命令到命令提示符中,每個命令後按 Enter。
netsh advfirewall firewall add rule name="SQL Server TCP" protocol=tcp dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" enable=yes profile=any localip=any localport=any remoteip=any remoteport=anynetsh advfirewall firewall add rule name="SQL Server UDP" protocol=udp dir=in action=allow program="C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" enable=yes profile=any localip=any localport=any remoteip=any remoteport=any
- 完成後,您已成功打開所有端口以允許 SQL Server 通過 Windows 防火牆進行訪問。
