繁体   English   中英

无法从 Azure 应用服务连接到 SQL 数据库

[英]Can't connect to SQL Database from Azure Application Service

我有两个运行 .NET Core 3.1 应用程序的应用程序服务连接到 Azure SQL 数据库。 一个应用程序是一个简单的测试应用程序,用于使用相同的 DI 管道测试与数据库的连接性,另一个是完整的应用程序。 测试应用程序连接到数据库并生成所需的 output,而生产应用程序无法连接并显示以下异常消息:

与 SQL 服务器建立连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称是否正确,并且 SQL 服务器配置为允许远程连接。 (提供者:SNI_PN11,错误:26 - 错误定位服务器/指定实例)

我已经修改了数据库的规则以包括我的开发工作站 IP 地址,并且两个应用程序都按预期连接到数据库。 在数据库防火墙上,我还做了以下事情:

  1. 将测试和生产应用程序的 IP 地址添加到数据库防火墙。 它是应用服务属性部分中指定为virtual ip address的 IP 地址。 这两个应用服务共享一个虚拟 IP 地址。
  2. 在控制台中启用了Allow Azure services and resources to access this server设置。

应用程序的appsettings.json文件是相同的。

当我将测试应用程序部署到生产服务器时,它仍然可以工作。 生产应用程序中的某些内容导致连接失败。 为什么生产应用程序无法连接,还有什么办法可以解决问题?

想知道我的连接字符串是否有问题,我添加了一些日志记录以将其写入日志文件。 我意识到连接字符串是错误的——它试图连接到不同的数据库。 AppSettings.Production.json 覆盖了连接字符串,我的测试应用程序有一个空的 AppSettings.Production.json 这就是它起作用的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM