为SQL Server Express 2012启用远程连接

Rya*_*ndy 399 remote-connection sql-server-2012 sql-server-2012-express

我刚在家用服务器上安装了SQL Server Express 2012.我正试图从我的桌面PC从Visual Studio 2012连接到它,并反复得到众所周知的错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

我试图解决这个问题:

  • 在服务器上运行SQL Server配置管理器并启用SQL Server Browser
  • 在服务器上为TCP,本地子网上的端口1433和1434添加Windows防火墙例外.
  • 验证我在桌面上登录的用户登录SQL Server实例.
  • 验证我在SQL Server实例上使用Windows身份验证.
  • 反复重启SQL Server和整个dang服务器.
  • 拔掉我所有的头发.

如何让SQL Server 2012 Express允许远程连接!?

Rya*_*ndy 727

好吧,很高兴我问道.我最终发现的解决方案是:

如何配置SQL Server Express以允许端口1433上的远程tcp/ip连接?

  1. 运行SQL Server配置管理器.
  2. 转到SQL Server网络配置> SQLEXPRESS的协议.
  3. 确保已启用TCP/IP.

到目前为止,这么好,完全是预期的.但是之后:

  1. 右键单击TCP/IP,然后选择" 属性".
  2. 验证在IP2下,IP地址是否设置为本地子网上计算机的IP地址.
  3. 向下滚动到IPAll.
  4. 确保TCP动态端口.(我的设置为5位数的端口号.)
  5. 确保TCP端口设置为1433.(我的空白.)

(另外,如果你遵循这些步骤,它不是必要的,以使SQL Server的浏览器,你只需要允许端口1433,而不是1434)

这些额外的五个步骤是我不记得在以前版本的SQL Server,Express或其他版本中必须执行的操作.它们似乎是必要的,因为我在服务器上使用命名实例(myservername\SQLEXPRESS)而不是默认实例.看这里:

配置服务器以侦听特定TCP端口(SQL Server配置管理器)

  • 如果它可以帮助其他人......这有帮助,但在我启动SQL Server Browser服务之前,我仍然无法连接.(注意:我必须进入Windows"服务"应用程序才能执行此操作,因为SQL Server Browser服务的启动类型由于某种原因被"禁用".将启动类型更改为"自动",启动服务,然后能够连接.) (18认同)
  • 那个'IPAll`设置是SAVIOR的建议!我的就像你的......:D (17认同)
  • 只是想说谢谢和upvote.你救了我很多时间.您是否介意使用正确的连接语法更新帖子?我需要使用`myserver\sqlexpress,[portnumber]`而不使用括号.注意它是`,`而不是`:` (10认同)
  • 在安装到SQLEXPRESS实例的Windows 8和SQL 2012 Express SP1上,我必须将动态端口设置为空白以外的任何内容(如果删除它,设置为0然后它将为您重新计算新的随机端口)并且还打开BOTH TCP高级防火墙控制面板中的1433和UDP 1434传入端口规则.当动态端口为空时,SQL Server就会挂起启动. (9认同)
  • 如果SQL Server Express不是唯一的实例,则可能需要在其他实例上使用UNASSIGN端口1433.我有一个2008 R2默认实例(MSSQLSERVER),我可以从外部连接到它们的唯一方法是将端口1433分配给2012实例(如上所述),并将旧版默认实例的端口分配更改为TCP动态Ports ="0"和TCP Port =""(空白).反过来,只允许访问默认实例. (7认同)
  • 只是一个小小的补充:在我的情况下,在应用这些步骤后,我不得不重新启动"SQL Server"服务**以使其工作... (2认同)
  • @Kyralessa我已经完成了你在这里写的所有内容,我也将端口/程序添加到组策略中,但仍然不适用于我. (2认同)

Ros*_*sim 104

连接到远程SQL Server (无需打开UDP端口1434和启用SQL Server Browser)的正确方法是使用ip和port而不是命名实例.

使用ip和port而不是命名实例也更安全,因为它减少了攻击面积.

也许2张照片说2000字......

此方法使用指定的端口(这是大多数人想要的我相信)..

在此输入图像描述

此方法需要打开UDP端口1434和SQL Server Browser运行..

在此输入图像描述

  • @Kyralessa哈!...现在,在我试图连接到我的远程实例的4-5小时后,我再次清醒了,我应该解释一下,这里的"正确"是从我的上下文中读取的.由于我没有启用SQL Server Browser,因此使用实例名称进行连接是"不正确的". (3认同)
  • 加1表示MS使用逗号而不是列作为端口号的分隔符 (3认同)

Pet*_*ete 31

还有一件事...

Kyralessa提供了很好的信息,但我还有一件事要补充,即使在这篇文章之后我也难以接受.

在"SQL Server网络配置">"服务器协议">"TCP/IP已启用"下.右键单击TCP/IP并选择属性.在IP地址下,您需要为您正在使用的每种连接类型将"已启用"设置为"是".

在此输入图像描述


Age*_*geu 17

您可以使用它来解决此问题:

转到"开始">"执行",然后运行CLICONFG.EXE.

命名管道协议将首先在列表中.远程,并提升TCP/IP.

彻底测试应用程序.

我希望这有帮助.


小智 14

你也可以设置

全部听取否

在协议对话框中,然后在IP地址IP1(说)

设置为是,

定义你的IP地址,

将TCP动态设置为空白和

TCP端口到1433(或其他)


JGi*_*tin 10

这篇文章对我帮助...

如何在SQL Server中启用远程连接

SQL Server中的所有内容都已配置,我的问题是防火墙阻塞了端口1433


DDa*_*Dan 10

我最近遇到了这个问题.2015年8月

通过打开SQL Server配置管理器解决

  • SQL Server网络配置 - > SQLEXPRESS的协议
  • TCP/IP上的属性 - > IP地址选项卡
  • 一切都保持默认,只设置IPALL:TCP端口为1433

可以用SQL Server Manager连接到机器:[hostaddress],1433

例:

在此输入图像描述


Phi*_*hil 6

在安装了默认设置的SQL Server 2012 Developer Edition上,我只需加载SQL Server配置管理器 - > SQL Server网络配置 - > MSSQLSERVER协议,并将TCP/IP从禁用更改为启用.


tom*_*ern 5

我不得不添加防火墙入站端口规则来打开UDP端口1434.这是一个Sql Server Browser监听的.