我在最初有.Net应用程序。我想将其托管在Azure上,但不想移动数据库。我在Azure上发布了该应用程序,但无法连接到主数据库。
SQL服务器位于专用网络中。
出于POC目的,我正在使用MSDN订阅。我正面临以下错误,
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:命名管道提供程序,错误:40-无法打开与SQL Server的连接)
谢谢, Umesh
答案 0 :(得分:3)
由于内部部署数据库位于私有内部部署网络中,因此Azure服务无法找到它,因此您可以公开内部部署数据库的公共IP或将Azure Web应用程序服务VNet integration与{ {3}},以安全地访问Azure VNet或本地网络中的资源。
另一种推荐的方法是使用Azure VPN gateway。为此,您需要Azure App Service Hybrid Connections。您将在数据库服务器或与本地数据库位于同一网络的另一服务器中下载并安装代理(Hybrid Connection Manager)。
主要步骤如下:
- 您在应用程序服务或网络应用程序上配置逻辑连接。
- 已下载小型代理程序Hybrid Connection Manager,并将其安装在远程运行的Windows Server(2012或更高版本)上 您需要与之通信的网络(本地或任何地方)。
- 您在混合连接管理器中登录Azure订阅,然后在应用程序服务中选择逻辑连接。
- 混合连接管理器将启动到您的Azure应用服务的安全隧道(TCP 80/443)。
- 您的应用程序服务现在可以通过Hybrid Connection与Windows或Linux上远程网络中基于TCP的服务进行通信 经理。
您可以在add and create Hybrid Connections in your app上获得更多详细信息。
答案 1 :(得分:1)
您的本地SQL服务器必须托管在公共IP地址上,才能从Azure Web APP连接。 一旦将SQL Server公开在公共IP上,还应该应用防火墙规则,以确保只有Azure Web App可以访问以获得安全性。