首页 > 解决方案 > 从 Azure Web 应用程序连接到内部 SQL 数据库

问题描述

我正在尝试构建一个与托管在我们内部网络中的服务器上的 SQL 数据库通信的 Web 服务。该服务由 Azure 作为 Web 应用程序托管。有没有这样做的好方法?我是否必须使用 Azure Sql 数据库,如果需要,有没有办法让 Azure 数据库充当我们内部数据库的代理?

已经有规则允许连接到我们的数据库服务器上的端口,所以我认为这不是问题。我看到很多关于连接到 Azure 托管的 sql 数据库的问题,但没有看到关于将 Azure Web 应用程序连接到其他类型的数据库的问题。

当我尝试调用存储过程(通过生成的实体框架代码)时发生错误,如下所示:

发生错误:System.Data.Entity.Core.EntityException:基础提供程序在打开时失败。---> System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。

我们的数据库配置为允许远程连接,所以我猜测 Web 应用程序很难连接到我们的 vpn。

如果您需要任何其他信息,请告诉我。

谢谢,

乔什

标签: sql-serverazurevpnazure-webapps

解决方案


您可以利用 Azure 混合连接,这是应用服务的一项功能。在应用服务中,混合连接可用于访问其他网络中的应用程序资源。它提供从应用程序到应用程序终结点的访问权限,并使用 Azure 中继服务连接到本地。查看以下链接了解更多详情:

https://docs.microsoft.com/en-us/azure/app-service/app-service-hybrid-connections


推荐阅读