配置 Windows 防火墙以允许 SQL Server 访问的 2 种方法

Jacki

默认情况下,Windows 防火墙不允许 SQL Server 的入站/出站请求。如果您尝试从网络连接到 SQL Server 实例,您可能会收到错误消息“找不到服务器或无法访问服务器”。在本教程中,我们将向您展示两种配置 Windows 防火墙以允许 SQL Server 访问的方法。

方法 1:通过控制面板允许 SQL Server 访问

  1. 在大图标或小图标视图中打开控制面板,单击Windows 防火墙

  2. 点击链接“允许程序或功能通过 Windows 防火墙” 在窗口的左侧。

  3. 您现在将看到一个列表,其中包含允许通过 Windows 防火墙进行通信的所有应用程序。要更改规则,您需要单击更改设置按钮。规则列表将不再是灰色的,您将能够对其进行编辑。

  4. 单击“允许另一个程序...“ 按钮。

    参见:如何在 Windows Server 2012 R2 上安装 SQL Server 2016 CTP 3.0

  5. 在“添加程序”窗口中,单击浏览按钮。

  6. 导航到 SQL Server 实例的安装路径并选择 sqlservr.exe,然后单击打开。在我的示例中,位置是C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe

  7. 您将返回到“添加程序”窗口,并看到 SQL Server 已添加到列表中。单击添加按钮。

  8. SQL Server 现在显示在允许的程序和功能列表中。您可以检查任何位置类型:私人或公共。完成后,按好的

方法 2:通过命令提示符允许 SQL Server 访问

  1. 打开提升的命令提示符。
  2. 您可以运行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=any

    netsh 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

  3. 完成后,您已成功打开所有端口以允许 SQL Server 通过 Windows 防火墙进行访问。