SQLAzure数据库服务器-命名管道提供程序,错误:40-未找到网络路径

SQLAzure数据库服务器-命名管道提供程序,错误:40-未找到网络路径,azure,azure-sql-database,Azure,Azure Sql Database,我们访问SQL Azure中的数据库,在尝试连接时经常遇到此错误。我们使用SSM或API从公司网络进行连接 奇怪的是,它总是成功地在重试时立即连接。我们只需在1秒钟后重试,就可以了 我们看到DTU的使用率很高,并扩大了我们的服务器,但这没有帮助。我们在从API访问数据库时采用了SqlAzureRetry策略,这似乎有助于缓解问题,但根本原因仍未确定 是否有人采用了配置或策略或面临类似问题?(基础提供程序无法打开/未找到网络路径) 谢谢 解决方案是将服务器名称的格式更改为使用TCP: tcp:se

我们访问SQL Azure中的数据库,在尝试连接时经常遇到此错误。我们使用SSM或API从公司网络进行连接

奇怪的是,它总是成功地在重试时立即连接。我们只需在1秒钟后重试,就可以了

我们看到DTU的使用率很高,并扩大了我们的服务器,但这没有帮助。我们在从API访问数据库时采用了SqlAzureRetry策略,这似乎有助于缓解问题,但根本原因仍未确定

是否有人采用了配置或策略或面临类似问题?(基础提供程序无法打开/未找到网络路径)


谢谢

解决方案是将服务器名称的格式更改为使用TCP:

tcp:servername.database.windows.net,1433


此外,如果您是从代码连接,则应在连接字符串中更改为上述格式

您需要检查应用程序是否正在被限制。也就是说,当从类似端点到特定azure资源的流量过多时,azure可能会限制请求,认为这可能是DDOS攻击,或者可能是您正在使用的SaaS产品类型的限制,在本例中是azure sql db。然后,您可以重新访问您的设计/设置。该理论不符合所观察到的行为,即它在第二次连接尝试时立即连接。没有这样的应用程序,只有到数据库的连接。sql azure体系结构中可能内置了阻止DDOS攻击的节流功能,但我们只从一个IP发送一个请求(尝试从开发人员机器的SSM连接),并且这无法标记为DDOS。确实如此。节流是指并非所有连接都能通过的情况。DDOS是一个类别。存在多个限制情况。作为测试,您可以尝试升级到sql azure的更高层(如果尚未尝试)。此外,由于您提到了公司网络,一些出站请求可能会被公司防火墙阻止/丢弃。正如我在最初的问题中提到的,我们已经升级到更高的定价层。这使我们的DTU容量增加了一倍。但我们仍然存在相同的问题。您的客户端和Azure SQL实例之间是否存在数据包丢失?您可以在Windows()上使用
tcping
,在Debian上使用
tcping
(apt get install tcptraceroute)进行测试。