无法使用SSMS连接Azure SQL数据库

时间:2019-02-20 09:42:51

标签: sql-server azure-sql-database

我正在尝试使用SSMS与Azure SQL数据库连接,但是我收到了以下错误消息

  

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

我们启用了所有必需的端口,还重新启动了SQL Server,并在Azure防火墙设置中添加了客户端“ ip”。以前我们可以连接,但是在我们无法连接之后更改了Azure SQL服务器的位置,但是我可以连接到位于不同位置的另一台服务器。

1 个答案:

答案 0 :(得分:0)

我发现了这篇文章:Named Pipes Provider, error: 40 – Could not open a connection to SQL Server (Microsoft SQL Server, Error: XXX)可能会给您一些有用的信息。

基本上,此错误消息只是告诉您客户端无法建立与服务器的连接。它等效于MDAC中的“ SQL Server不存在或访问被拒绝”。尽管错误消息中提到了命名管道提供者,但问题不一定与NP有关。原因是,默认情况下,客户端堆栈按顺序尝试TCP和NP。如果连接尝试都无法成功,则NP是最后尝试的协议,这是向用户显示的错误消息。

当用户看到此错误消息时,有时会省略xxx。但是实际上,xxx是此错误消息中最重要的部分。 xxx是Windows错误代码,它为客户提供有关连接失败原因的提示。这是用户经常看到的一些错误代码。我还在这里解释根本原因和可能的解决方案。

1)xxx = 53

winerr 53的意思是“找不到网络路径”。如果收到此消息,则表示客户端堆栈找不到目标计算机。

以下是导致此失败的原因:

a。服务器名称中有错字,或者在服务器名称和实例名称之间使用“ /”而不是“”,例如“ myserver / myinst”不正确。

b。服务器名称的名称解析不正确,“ ping -a yourserver”会告诉您情况是否正确。

c。服务器计算机经过防火墙保护,文件共享不在例外列表中。您需要将“文件和打印机共享”设置为例外。

希望这可以为您提供帮助。