MSSQL
我在 Windows 10 机器(称之为)上有一个 MS SQL Server 2014 实例(称之为WINTEN
)。
运行 SSMS WINTEN
,我既可以连接到本地 SQL Server,也可以连接到私有网络上其他计算机上的 SQL Server 实例。
但是,我无法从任何其他计算机上的 SSMS 连接到 SQL Server 实例WINTEN\MSSQL
除非我完全关闭了 Windows Defender 防火墙。
按照我能找到的所有说明,我在 Windows 防火墙上添加了两个入站规则,WINTEN
如下所示:
但是,即使制定了这些规则,只要我启用 Windows Defender 防火墙,所有 SSMS 连接都会WINTEN\MSSQL
失败并显示以下消息:
配置 Windows Defender 防火墙以允许其他私有网络机器连接到 MS SQL Server 的正确方法是什么?
根据第一个建议进行更新:我已经为 SQL Server 启用了 TCP 端口 1433,如下所示:
答案1
打开服务并找到以下条目:
SQL Server 浏览器
SQL 服务器 (WINTEN)
进入其属性并记下可执行文件的路径。
在高级安全 Windows 防火墙中创建 4 条新的入站规则,允许这两个程序通过 TCP 和 UDP 进行连接。
我通常通过标准 Windows 防火墙 (firewall.cpl) 执行此操作,它将为您创建这些规则,工作量更少。打开firewall.cpl,然后选择“允许应用程序或功能通过 Windows 防火墙”。选择“允许其他应用程序”并添加之前找到的两个可执行路径。
您需要允许程序而不是端口通过防火墙的原因是,尽管 SQL 浏览器始终位于端口 1433 上,但您的 SQL 实例将位于 SQL 浏览器将连接指向的随机/动态端口上。如果您希望允许端口而不是程序,则需要将 SQL 实例更改为默认实例,并强制其使用固定端口,同时禁用 SQL 浏览器。
还请检查您的 SQL 浏览器服务是否配置为在启动时自动启动,以及 SQL 配置管理器中是否为您的 SQL 实例启用了 TCP/IP。
答案2
在WINTEN上打开Sql Server配置管理器。
在 SQL Server 网络配置中,选择您的实例 MSSQL 并检查 TCP/IP 的设置。
确保协议已启用,并且服务器正在监听端口 1433。(标签IP 地址, 部分遠端, 场地TCP 端口)