无法通过IP和命名实例远程连接到SQL 2012

首先,我已经知道Windows防火墙阻止了我的连接 – 我只是不知道该怎么办。 当我一直closuresWF时,我的远程连接起作用。 我已经有一个规则来允许在端口1433传入的请求,这似乎是正确的端口,但我不确定。 现在了解更多细节。

我在远程专用服务器上安装了SQL Server 2008 R2,并且没有任何问题通过SSMS远程连接。 但后来我安装了SQL Server 2012.它工作正常,但我不得不在安装过程中为它创build一个命名实例,因为默认实例正在被SQL08使用。

我的ASP.NET连接string运行在该框上工作正常,连接到sql12没有问题。 这是混淆的连接string:

Server = myserver \ MSSQLSSERVER2012; Database = MyDB; User Id = Me; 密码=为mypass;

它看起来像命名实例使用端口1433.我证实,SQL浏览器是活动和运行。 我有一个Windows防火墙exception,允许SQL服务器和端口1433,虽然那是之前,我想知道如果这只适用于现在禁用的SQL08(我如何确保这是适用于SQL12)。

说到那个服务器的IP是1.2.3.4

从SSMS我试图连接到服务器:

  1. 1.2.3.4
  2. 1.2.3.4 \ MSSQLSSERVER2012
  3. 1.2.3.4 \ MSSQLSSERVER2012,1433

没有任何工作 总是错误是:

在这里输入图像说明

我已经阅读了一些关于这个话题的文章,他们都说:

  1. 启用S​​QL浏览器(完成)
  2. 在Windows防火墙中打开一个端口(似乎已经完成了)

那么如何才能发现我在Windows防火墙中需要做什么来解决这个问题呢? 我不能把所有的东西都关掉,这是一个公共的web服务器。

Solutions Collecting From Web of "无法通过IP和命名实例远程连接到SQL 2012"

以下是SQL server功能使用的端口列表。 根据您使用的功能/服务,您可能需要打开其他端口TCP / UDP。 同样在服务器属性>连接下>确认允许远程连接到这个服务器被选中。 远程连接的指令是2008年,因为你提到关闭,你可以远程连接的防火墙,那么我想这不是必要的,但不会伤害,仔细检查这一点。

配置Windows防火墙以允许SQL server访问

启用远程连接

简短的回答是:

  1. SQL server的默认实例使用TCP端口1433,除非搞砸了(不要这样做!)。 如果您只有一个默认实例,那么这是您需要的唯一端口,我相信 – SQL server客户端不会使用浏览器服务来查找默认实例。
  2. 如果使用命名实例,SQL浏览器将发挥作用。 这侦听UDP端口1434; 它响应请求命名实例的端口号。
  3. 默认情况下,命名实例使用动态TCP端口 – 每次启动时都使用不同的端口。 浏览器为你排序,但通过防火墙是一个痛苦。
  4. 没有理由不在SQL server配置管理器中为命名实例(比如TCP端口1434或其他)设置一个固定的端口,这样你只需要为命名实例打开一个额外的端口。

如果使用命名实例,添加端口1433是不够的。

你可以重现这个:

  • 安装一个命名的实例
  • 添加入站规则1433
  • 允许远程连接

当您尝试连接时,会出现无法找到服务器的错误。 当你打开防火墙时,它一切正常,所以必须有另外一个端口才能使它工作。

您需要打开端口1434 UDP并启动SQL浏览器,现在它工作。

一个或多个以下解决了这个问题,并使我能够连接到我的远程SQL服务器:

  1. 允许在mssql属性中进行远程连接
  2. 在winfirewall中启用MSSQL exe
  3. 在winfirewall中启用SQL浏览器
  4. 显式打开端口1433 tcp和1434 udp
  5. 作为服务运行的SQL浏览器

这对我工作:)

如果您尝试了上述所有内容,并且仍然遇到此错误,请尝试将IP和实例名称添加到要连接的服务器的主机文件,如下所示:

111.11.111.1111 INSTANCENAME #IP和连接到TO的服务器的实例名称

这在我通过开放端口,UDP,TCP / IP等日期后工作。我能够连接使用连接字符串与IP,但从来没有实例名称本身。 确认登录信息是正确的,SQL浏览器已启用并正在运行。 我希望这有帮助。