首页 > 解决方案 > 等待操作超时从 Azure 函数应用程序建立到 SQL Server 的连接

问题描述

我正在 Azure 中构建一个函数应用程序,并尝试连接到第三方 SQL Server。我在函数的应用程序设置中添加了这样的连接字符串:

Server=[servername],1433;Initial Catalog=[dbname];Persist Security Info=False;
User ID=[myuser];Password=[mypassword];MultipleActiveResultSets=False;
Encrypt=False;TrustServerCertificate=True;Connection Timeout=30;

当然,我用实际值替换了 [] 上的字符串,但是每次尝试连接到服务器时,都会出现此错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:TCP 提供者,错误:0 - 等待操作超时。)

System.ComponentModel.Win32Exception (0x80004005):等待操作超时

当我尝试使用本地 Management Studio 中的相同凭据连接到同一台服务器时,它可以正确连接,那么我在 Azure 的连接中做错了什么?

感谢您的投入!

标签: sql-serverazure

解决方案


您的连接字符串看起来正确。该错误表明存在连接问题。如果它在您本地的 SSMS 上运行,我必须问一个显而易见的问题 - 它是本地 SQL 数据库还是 Azure 中的 SQL Azure 数据库?如果它是内部部署的,除非设置混合连接或快速路由,否则您将无法从 Azure 连接到它。如果它在 Azure 中,则服务器名称可能有误。SQL Azure 数据库的主机名带有 *.database.windows.net。


推荐阅读