Sql server 2012 为SQL Server Express 2012启用远程连接

Sql server 2012 为SQL Server Express 2012启用远程连接,sql-server-2012,remote-connection,sql-server-2012-express,Sql Server 2012,Remote Connection,Sql Server 2012 Express,我刚刚在我的家庭服务器上安装了SQL Server Express 2012。我正试图从我的桌面PC从Visual Studio 2012连接到它,并反复出现众所周知的错误: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接) 我为解决此问题所做的努力: 在服务器上运行SQL Server Conf

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

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

我为解决此问题所做的努力:

  • 在服务器上运行SQL Server Configuration Manager并启用SQL Server浏览器
  • 在服务器上为TCP、本地子网上的端口1433和1434添加Windows防火墙例外
  • 验证我在桌面上登录的用户是否登录了SQL Server实例
  • 验证我正在SQL Server实例上使用Windows身份验证
  • 反复重新启动SQL Server和整个dang服务器
  • 把我的头发都拔出来
如何让SQL Server 2012 Express允许远程连接

好。我最终发现的解决方案是:

  • 运行SQL Server配置管理器
  • 转到SQLServer网络配置>SQLEXPRESS协议
  • 确保TCP/IP已启用
  • 到目前为止,一切顺利,完全可以预料。但是:

  • 右键单击TCP/IP并选择属性
  • 验证在IP2下,IP地址是否设置为本地子网上计算机的IP地址
  • 向下滚动到IPAll
  • 确保TCP动态端口空白。(我的设置为大约5位端口号。)
  • 确保TCP端口设置为1433。(我的是空白。)
  • (此外,如果按照这些步骤操作,则无需启用SQL Server Browser,只需允许端口1433,而不需要允许端口1434。)

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

    您还可以设置

    听我说不

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

    将启用设置为是

    定义您的IP地址

    将TCP Dynamic设置为空白,然后

    TCP端口至1433(或其他)


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

    您所需要做的就是打开服务器防火墙上的相关端口。

    我遇到了一个与目前所有答案不同的问题

    首先,我应该说我在VisualStudio中使用了它,而不是SQLServerExpress,但解决方案应该完全相同

    天啊,这其实很简单,也许有点愚蠢。 当我尝试创建数据库时,VisualStudio建议使用SQL Server的名称,它给了我Windows用户名,因为它实际上是服务器的名称,所以我选择了它

    实际上,它实际上是我的Windows用户名+
    \SQLEXPRESS
    。如果您没有更改任何设置,这可能也是您的设置。如果有效,停止阅读;这是我的答案。如果不起作用,可能名称不同

    如果像我一样,您在Visual Studio中仅遇到此问题来检查您的内容,请执行以下步骤:

  • 打开SQLServerManagementStudio
  • 如果看不到服务器(默认情况下停靠在左侧),请按F8或转到查看->对象资源管理器
  • 右键单击服务器名称并选择属性(最后一项)
  • 在左下角,您可以在“服务器”下看到服务器的实际名称(不是连接,而是在其上方)

  • 这是服务器的名称,您应该尝试连接到它!不是VisualStudio所建议的

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

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

    命名管道协议将位于列表的第一位。将其降级,然后升级TCP/IP

    彻底测试应用程序


    我希望这有帮助。

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

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

    也许两张图片能说出2000个单词

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

    此方法需要打开UDP端口1434并运行SQL Server浏览器。


    这篇文章帮助我

    SQL Server中的所有内容都已配置,我的问题是防火墙阻止了端口1433,我更喜欢“Rosdi Kasim”的方式,因为这不需要在IP上进行详细配置

    当我再次尝试启动另一台服务器时,我肯定会再次忘记它

    只需启用Sql Server浏览器服务,然后在连接服务器时在IP后面添加\SQLEXPRESS,即可保持简单(KISS)

    直接使用没有“\SQLEXPRESS”的IP是我的失败点,因为它不使用默认端口


    谢谢。

    还有一件事…

    Kyralessa提供了很好的信息,但我还有一件事要补充,即使在这篇文章之后,我还是被难住了

    在SQL Server网络配置>服务器协议>TC下