无法连接到 SQL Server 2014 Express。

13

我无法连接到新安装的 SQL Server 2014 Express 实例。我不确定需要哪些信息来帮助解决问题,因为我是个业余爱好者。如果我能提供更多信息来帮助解决问题,我会很高兴的。

我一直收到的错误都是:

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

当前运行 SQL Server 2014 Express 的服务器是 Windows Server 2008 R2,已安装由 Microsoft 发布的所有补丁。这是我家里的个人服务器,所以我可以按需操作它来使其正常工作。

我尝试过使用 Visual Studio Community 2013 连接,也尝试过在 C# 和 PowerShell 中使用 System.Data.SqlClient 命名空间。

我已确保防火墙不是问题的原因。我已正确设置规则,并且当仍然无法连接时,我完全关闭了防火墙。但依然出现同样的问题。

以下是我在 .NET 中尝试过的几个连接字符串示例。我已从这些字符串中删除了服务器、实例、用户ID和密码,并且我确定这些信息是正确的。

Data Source=SERVERNAME\INSTANCENAME;Initial Catalog=Requests;Integrated Security=False;User ID=USERID;Password=PASSWORD

Data Source=SERVERNAME;Initial Catalog=Requests;Integrated Security=False;User ID=USERID;Password=PASSWORD

Server=SERVERNAME\INSTANCENAME; Database=DATABASE; User ID=USERID; Password=PASSWORD

Server=SERVERNAME; Database=DATABASE; User ID=USERID; Password=PASSWORD

如果有人有时间和耐心帮助一个新手解决这个问题,我真的会非常感激。我正在使用这个设置来学习一些SQL和ASP.NET MVC 5开发,并在家里建立一个小实验室将会很棒。

谢谢您的时间。


Steve有理,你可以检查一下在你的上下文或SQL文件夹中是否有该实例。 - Enrique YC
验证服务是否已经启动并正在运行。 - Greg
@Steve 我可以在服务器的RDP上连接到Sql Server Management Studio,但我无法从我的电脑连接。 - Chris Martin
@Greg,我已经确认该服务正在运行。 - Chris Martin
你是想连接本地机器还是远程机器? - g.pickardou
显示剩余3条评论
4个回答

23
首先,打开 services.msc 并向下滚动到 SQL Server,确保其已启动。
如果它没有运行,则修改为自动启动,然后启动它。
一旦它正在运行,关闭服务面板,并运行ssms.exe(管理工具),尝试连接到服务器名称:<machinename> 或服务器名称:<machinename\sql2014> [不包括<>]。您还可以单击服务器名称下拉列表,并选择BROWSE以查看是否列出了您的实例 - 尽管我认为这样做可能会有时而有时不足之处。
确认其已激活并且已连接后,按照此MSDN页面的说明执行步骤以启用tcp/ip连接。
从那里,您应该具备更改连接字符串所需的详细信息。

2
搞定了,非常感谢您! - Chris Martin
不用谢。能否分享一下问题的具体情况,这样其他人也可以从这篇文章中学习到经验? - Dave C
我没有启用TCP/IP。一旦我这样做了,连接就完全打开了。 - Chris Martin
2
在遇到类似问题后,我发现在services.msc中,SQL Server服务被设置为“自动”,但由于某种原因未能“运行”。因此,启动SQL Server服务解决了我的问题。 - Peter
非常感谢,原来是因为它没有运行。有什么线索可以解释它为什么会在第一次停止运行吗? - NocFenix
显示剩余2条评论

2

SQL Server Express默认未启用TCP/IP连接,而是使用共享内存,这意味着来自另一台计算机的外部/远程连接无法正常工作。

打开SQL Server配置管理器(在“开始”菜单中)并选择服务器配置,启用TCP/IP。还要打开TCP/IP属性,并确保您想要使用的绑定上都将“Active”和“Enabled”设置为True


在连接到本地机器时,共享内存是可行的。 - g.pickardou

0

我曾经遇到过一个类似的问题,我们从在Windows 2008 R2服务器上运行的SQL Server 2008 R2迁移到了在Windows 2012 R2服务器上运行的SQL Server 2014后,C#连接字符串不再起作用。

我打开了SQL Server配置管理器并启用了命名管道,重新启动了SQL Server,一切都恢复正常了(至少几分钟内是这样!)


0

如果使用服务器身份验证模式,请确保您的用户名和密码正确。 如果有任何SQL Server服务处于停止状态,请前往Sqlserver Management Configuration并启动它们。 输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接