无法连接到服务器 - 一个与网络或实例相关的错误

515

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

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

当我尝试在Visual Studio 2010中将我的数据库配置为网格视图时,就会出现此错误。我不知道如何调试这个错误。

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


14
用ping测试SQL Server连接不可靠,在Windows Server中默认禁用ICMP回显请求。无效的用户名或密码并不是错误提示的意思,那是完全不同的错误。 - Sean Airey
2
请尝试阅读这篇文章,它详细介绍了诊断连接问题所需的所有步骤:http://social.technet.microsoft.com/wiki/contents/articles/2102.how-to-troubleshoot-connecting-to-the-sql-server-database-engine.aspx - Sean Airey
4
如果您在首次设置SQL Server {version} Express时出现此错误,请参见我的回答及其截图。我再次回到StackOverflow并重新使用了我的回答,因为它是唯一有效的解决方法。https://dev59.com/IHM_5IYBdhLWcg3waSX9 - Entree
这个问题在Meta上进行了讨论。 - Joe
2
我也遇到过同样的错误。在我的情况下,我没有正确拼写服务器名称。有时候问题就出在这些简单的地方。 - Tarzan
显示剩余10条评论
57个回答

0
对我来说,解决方案是打电话给互联网服务提供商,请求开放端口1433。
由于某种原因,他们一直在阻止该端口,我甚至无法ping通托管在Azure上的数据库服务器。100%的数据包都丢失了。
在他们开放端口之后,一切都恢复正常了。

0
我在使用MS SQL 2022时遇到了类似的问题。刚安装完毕时,我能够通过MSSQL Management Studio访问数据库,但在计算机重新启动后,SQL Server引擎无法自动启动。在我的情况下,问题出在登录账户上,默认账户是MSSQLSERVER。我将账户更改为我的计算机账户(或者如果你在企业环境中,则是域账户)... 在计算机管理 >> 服务和应用程序 >> SQL Server >> 右键单击 >> 属性 >> 登录 >> 此账户 >> 输入用户名和密码并确认密码。然后点击启动按钮来启动数据库引擎。

0
我在远程工作(VPN)几年后遇到了这个错误。在某个时候,我一定会更改DNS设置为家庭路由器的IP地址。 现在,我又在与服务器相同的网络中,并且出现了上述错误。 解决方案是打开“网络状态”/“更改适配器选项”,右键单击活动的Internet连接(在我的情况下是以太网)以获取IPv4属性。 在“使用以下DNS服务器地址”下,我输入了服务器的本地IP地址,你知道的是……!计算机联系了域(在服务器上),SQL Server打开了。
要检查是否有相同的问题,请打开cmd并输入 nltest /dsgetdc:domainname [用您的域名替换“domainname”] 如果您收到消息说“获取DC名称失败:状态= 1355 0x54b ERROR_NO_SUCH_DOMAIN”,则要么您的域名错误,要么您可能遇到了此问题。

0

针对Azure虚拟机用户

我尝试了以上所有方法(这些方法仍然有效),但仍未能解决问题。

重要提示:我的服务器只是一个实验场所,所以安全性并不是很重要。因此,请做好调研工作,这只是一种临时解决方法,而不是生产环境的安全解决方案。

确保您可以ping通服务器。在我的情况下,我能够使用RDP连接但无法ping通Azure上的服务器。因为似乎Azure默认阻止ICMP协议。

您可以添加防火墙规则。在我的情况下,无论我在该计算机的防火墙中添加了什么,都没有改变。感谢@John提供的答案,这也提醒我必须从Azure门户网站的网络设置中添加此规则。

当我添加了端口0的规则后,最终我终于能够远程连接了。

this链接this链接也很有帮助。

enter image description here


0

面临了类似的问题。对我来说,appsettings.Production.json文件没有被生产服务器使用,应用程序正在使用appsettings.json文件。系统中的环境变量没有设置为Production。它将请求整体定向到另一台服务器。


-1

我已经尝试了几乎所有的方法。然后,我卸载了一个软件Malwarebytes。这是一个声称可以清除恶意软件的软件(通常它确实可以)。之后,一切都正常了。也许有人会因为同样的原因遇到相同的问题。


1
非常不可能相关。 - Gert Arnold

-1

我也是因为同样的问题而来,可我晚了不少。对我来说,这个问题是由于我更改了电脑名称所引起的。


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