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

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

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

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


当前回答

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

其他回答

当我想在另一台PC上运行我的WinForms项目(包括使用SQL Server数据库,并且在我的PC上工作得很好)时,我也犯了同样的错误。问题出在我电脑的Windows防火墙上。我通过添加两条规则来解决这个问题。这是如何允许SQL Server通过Windows防火墙的整个过程:

打开“运行”,输入services.msc 查找用于SQL Server(实例名)和SQL Server Browser的服务。一次一个,右键单击,选择“属性”,复制路径到exe文件 然后打开防火墙。cpl,单击允许应用程序或添加规则,添加之前复制的路径(有一个步骤需要遵循),选中域和私有,取消选中公共。

这是YouTube的链接,你可以看到这个过程:允许SQL Server通过Windows防火墙

尝试在连接字符串的末尾添加一个和一个端口号(如1433)。

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

总结

要修复在运行本地应用程序与远程数据库时遇到的此问题,请使用SQL Server配置管理器为远程数据库添加别名。

细节

I had run into this problem recently when transitioning from a Windows 7 to a Windows 10 laptop. I was running a local development and runtime environment accessing our Dev database on a remote server. We access the Dev database through a server alias setup through SQL Server Client Network Utility (cliconfg.exe). After confirming that the alias was correctly setup in both the 64 and 32 bit versions of the utility and that the database server was accessible from the new laptop via SSMS, I still got the error seen by the OP (not the OP's IP address, of course).

有必要使用SQL Server Configuration Manager为远程Dev数据库服务器添加别名。把事情都解决了。

我也遇到过同样的问题 就我而言,我用这种方法解决了问题

步骤1:从开始菜单进入SQL server配置管理器

步骤2:启用TCP/IP

步骤3:双击TCP/IP,进入IP地址最后一个条目IP ALL,输入TCP端口1433然后应用

第四步:然后按win+r,写服务。msc打开服务,然后向下滚动,然后右键单击SQL Server (MSSQLSERVER)选择重新启动

这解决了我的问题。 即使做以上所有步骤都不能解决问题,然后简单地重新启动PC,希望它会工作。