我有安装了SQL Server 2008 R2 Enterprise的Windows Server 2008 R2计算机。 SQL Server被设置为一个命名实例,所以它的全名是“ATLANTA3 \ FOO”(“Atlanta3”是机器名称,“Foo”是实例名称)。
我已经设置了Windows防火墙高级安全规则,允许所有传入连接到sqlservr.exe,这是在configurationpipe理器中设置:
Shared Memory: Enabled TCP/IP: Enabled Protocol: Enabled: Yes Keep Alive: 30000 Listen All: Yes IP Addresses: (Most of these are IPv6 addresses assigned to tunnel adapters and are ignored) IP2: Active: Yes Enabled: Yes IP Address 192.168.0.17 // this is the internal LAN adapter TCP Dynamic Ports: 0 TCP Port: (blank) IP4: Active: Yes Enabled: Yes IP Address 89.xx.xx.xx // this is the Internet-exposed adapter. I can ping this from home. TCP Dynamic Ports: 0 TCP Port: (blank) IPAll: TCP Dynamic Ports: 49280
我使用TCPView来查看实例正在侦听的端口(49280),我可以很好地打开telnet连接。
但是,我似乎无法连接到从任何远程计算机的实例,在内部192.168.0.x局域网以及从互联网。 我从SSMS得到这个错误:
TITLE:连接到服务器
无法连接到ATLANTA3 \ FOO。
附加信息:
与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:26 – 错误定位服务器/实例指定)(Microsoft SQL Server,错误:-1)
要获得帮助,请单击: http : //go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-1&LinkId=20476
我已经按照TechNet和MSDN文章中的所有说明来允许SQL Server通过防火墙。 这听起来像SQL Server Browser的一个问题,但我找不到任何有关让SSB与防火墙配合的信息,假设它需要。
我不能彻底禁用防火墙,因为当我做服务器从所有networking断开连接,并且不能远程响应,我必须让数据中心人员为我手动重启机器(不好)。
UDP 1434是否在防火墙上打开? 这是SQL浏览器谈论的端口。 将SQL浏览器视为SQL实例名称的DNS。 它将实例名称parsing为端口号。