首先,我已经知道Windows防火墙阻止了我的连接 - 我只是不知道如何处理它。当我完全关闭WF时,我的远程连接正常工作。我已经有一个规则允许在端口1433传入请求,而且它似乎是正确的端口,但我不确定。现在了解更多细节。
我的远程专用服务器上有SQL Server 2008 R2,没有问题通过SSMS远程连接。但后来我安装了SQL Server 2012.它运行正常,但我在安装过程中被迫为它创建了一个命名实例,因为SQL08正在使用默认实例。
在该框上运行的我的ASP.NET连接字符串工作正常并连接到sql12没有问题。这是混淆的连接字符串:
Server = myserver \ MSSQLSSERVER2012; Database = MyDB; User Id = Me;密码=为mypass;
看起来命名实例正在使用端口1433.我确认SQL浏览器处于活动状态并正在运行。我有一个Windows防火墙例外,允许sql服务器和端口1433,虽然之前有,我想知道这是否只适用于现在禁用的SQL08(我如何确保这适用于SQL12)。
说该服务器的IP是1.2.3.4
从SSMS我尝试连接到服务器:
没有任何作用。总是错误是:
我已经阅读了很多关于这个主题的文章,他们都说:
那么如何才能在Windows防火墙中发现我需要做些什么来解决这个问题呢?我无法完全关闭,这是一个公共网络服务器。
答案 0 :(得分:10)
以下是SQL Server功能使用的端口列表。根据您使用的功能/服务,您可能需要打开TCP / UDP的其他端口。同样在服务器属性>连接>确认已选中允许与此服务器的远程连接。远程连接的说明是针对2008年的,因为你提到关闭防火墙,你可以远程连接然后我猜这不是必需的,但不会伤害双重检查。
答案 1 :(得分:6)
简短的回答是:
答案 2 :(得分:3)
如果使用命名实例,则添加端口1433是不够的。
您可以重现:
当您尝试连接时,会收到无法找到服务器的错误。当您关闭防火墙时,一切正常,因此必须有另一个端口才能使其工作。
您需要打开端口1434 UDP并启动SQL浏览器,现在它可以正常工作。
答案 3 :(得分:1)
以下一个或多个问题解决了这个问题,并使我能够连接远程sql服务器:
这对我有用:)
答案 4 :(得分:0)
如果您已尝试上述所有内容并且仍然遇到该错误 - 请尝试将IP和实例名称添加到您要连接的服务器的主机文件中,如下所示:
111.11.111.1111 INSTANCENAME #IP和实例连接到服务器的服务器名称
在经过开放端口,UDP,TCP / IP等的DAYS之后,这对我有用。我能够使用连接字符串与IP连接,但从不使用实例名称本身。确认登录信息正确,SQL Browser已启用并正在运行。我希望这会有所帮助。