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

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

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

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


当前回答

我也有这个问题,我尝试了这篇文章中建议的所有方法,但没有任何效果。最后,我通过在SQL Server中执行这个查询解决了我的问题

EXEC sp_configure 'remote access', 0 ;  
GO  
RECONFIGURE ;  
GO  

其他回答

这也可能是简单的事实,你的数据库实际上不是MS SQL Server。例如,如果你的数据库实际上是MySql,你试图用System.Data.SqlClient连接它,你会得到这个错误。

到目前为止,大多数ADO的例子。Net将用于MSSQL,没有经验的用户可能不知道你不能在MySql中使用SqlConnection, SqlCommand等。

虽然所有的ADO。Net数据提供程序遵循相同的接口,您必须使用为您的数据库提供程序。

如果您正在移除迁移,您应该检查ConnectionString。

我在更改电脑名称后遇到了这个问题。 所以我只需在SQL Server Management Studio中更新服务器名:

"服务器名称" -> "浏览更多…"-> "数据库引擎" ->选择"[您的计算机名称]" -> "OK"

如果您突然在生产环境中遇到这个错误,并且没有任何更改,请尝试以下顺序中的4个项目,以查看它是否得到修复。

重新启动SQL server服务。 重新启动调用sql server的服务(比如IIS)。(如果从开始对SQL server的服务调用到最终得到响应错误的时间非常短(大约一到两秒),那么问题可能就在这里。 重新启动服务器SQL server is on。 重新启动调用服务所在的服务器。

我将使用Entity Framework的项目设置为启动项目,然后运行update-database命令,解决了这个问题。