当我尝试连接SQL Server时,我得到以下错误:

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

当我试图在Visual Studio 2010中将数据库配置为gridview时抛出此错误。我不知道如何调试这个错误。

如何调试此错误?除了错误消息中提到的步骤之外,我还应该采取哪些步骤来确定这里到底发生了什么?


当前回答

我几乎什么都试过了。然后,我已经卸载了Malwarebytes。一种声称可以删除恶意软件的软件(通常可以)。在那之后,一切都好了。也许有人会因为同样的原因遇到同样的问题。

其他回答

似乎您的localdb实例没有运行。 要在计算机启动时启动它,添加到您的开始菜单\启动文件夹BAT文件与以下行

sqllocaldb start name_of_instance

其中name_of_instance是要启动的localdb实例的名称。 您可以使用sqllocaldb i在命令行中列出可用的实例。

例如,如果您正在使用SQL Server Management Studio并连接到服务器名称(localdb)\v11.0,那么您的BAT文件将如下所示

sqllocaldb start v11.0

我通过打开服务来解决这个问题,然后开始运行Sql Server (Sqlexpress)服务。

在尝试了所有的答案后,我把端口号(1433)放在服务器名后,用逗号插入连接字符串,为我工作。如下所示:

"Server=**.***.***.*\\MYSERVER,1433;Database=****;User Id=****;Password=*****;MultipleActiveResultSets=true;TrustServerCertificate=True"

在做了上面提到的所有事情之后: http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/ 对我来说还是没用。

以下步骤对我很有效:

开始>执行> cmd > sqlcmd -L

它将提示您服务器名。确保此服务器名称与SQL management studio的CONNECT to server框中试图连接的服务器名称相同。

我犯了这个愚蠢的错误,我一直使用MSSQLSERVER而不是使用这个服务器名。

希望这对像我一样犯愚蠢错误的人有所帮助。

谢谢。

我尝试了关于这个问题的所有其他答案,其中一些(如果不是全部的话)可能在让这个为我工作方面发挥了作用,但我仍然无法远程连接到DB。我在Azure虚拟机上使用SQL Server。

我最终想起了VM的端点是由Azure帐户代理控制的,所以我继续使用Azure Portal并添加1433作为可用端点,这样我就可以连接到我的SQL实例了。

希望这能帮助那些尝试了所有其他答案但仍然没有运气的人!