【问题标题】:Connect to On Prem SQL server from Azure Web app从 Azure Web 应用连接到 On Prem SQL 服务器
【发布时间】:2019-02-22 07:19:39
【问题描述】:

我在 prim 有 .Net 应用程序。我想在 Azure 上托管它,但不想移动数据库。我在 Azure 上发布了应用程序,但它无法连接到 prim 数据库。

SQL 服务器在私有网络中。

出于 POC 目的,我正在使用 MSDN 订阅。我面临以下错误,

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

谢谢, 乌梅什

【问题讨论】:

标签: c# sql-server azure azure-hybrid-connections


【解决方案1】:

由于您的本地数据库位于您的私有本地网络中,Azure 服务无法找到它,您可以为本地数据库公开一个公共 IP 或使用 Azure Web 应用服务VNet integrationAzure VPN gateway安全地访问 Azure VNet 或本地网络中的资源。

另一个推荐的方法是使用Azure App Service Hybrid Connections。为此,您需要add and create Hybrid Connections in your app。您将在数据库服务器或与本地数据库位于同一网络中的另一台服务器中下载并安装代理(混合连接管理器)。

主要步骤如下:

  1. 您在应用服务或 Web 应用上配置逻辑连接。
  2. 一个小型代理,混合连接管理器,下载并安装在远程运行的 Windows Server(2012 或更高版本)上 您需要与之通信的网络(本地或任何地方)。
  3. 您在混合连接管理器中登录您的 Azure 订阅,然后在您的应用服务中选择逻辑连接。
  4. 混合连接管理器将向 Azure 中的应用服务发起安全隧道输出 (TCP 80/443)。
  5. 您的应用服务现在可以通过混合连接与远程网络中基于 TCP 的服务(在 Windows 或 Linux 上)进行通信 经理。

您可以通过how to Connect Azure Web Apps To On-Premises获得更多详细信息。

【讨论】:

  • 谢谢南希。我创建了 Azure 应用服务混合连接,但面临同样的问题。我已经通过以下步骤完成了混合连接,1. 创建了具有端点主机、端点端口等详细信息的混合连接 2. 安装在一台服务器上的混合连接管理器和数据库服务器位于不同的服务器上。 3. 端点主机:安装混合连接管理器的服务器的 IP 地址 4. 端点发布:443 如果我缺少任何东西,请帮助我谢谢
  • 在我的例子中,数据库服务器和混合连接管理器是不同的,因此我提到端点主机作为混合连接管理器服务器和端口号 80/443。我已经提到我正在使用 MSDN 订阅,但不确定是不是因为这个问题?
  • 我的 sql server 的操作系统没有升级,所以我认为我不能从 SQL server 安装和使用 HCM。无论如何感谢您的建议。
  • 您可以将 HCM 安装在另一台服务器而不是 sql server 中,并从 azure 应用服务配置混合连接端点主机——数据库主机名、端点端口——1433。正如我之前提到的,您可以通过这些链接 herehere
  • @SeniorSystemsEngineer 有可能,请参阅 this 区域 VNet 集成使您的应用能够跨 Azure ExpressRoute 连接访问资源
【解决方案2】:

您的本地 SQL 服务器必须托管在公共 IP 地址上才能从 Azure Web APP 连接。 在公共 IP 上公开 SQL 服务器后,还应应用防火墙规则以确保只有 Azure Web App 可以访问以确保安全。

【讨论】:

  • 谢谢穆克什。我的 SQL 服务器不在公共 IP 上。我正在尝试通过混合连接管理器使用。知道我是否可以通过混合连接管理器做到这一点?
  • @umesh.chape 您应该在问题本身中解释这一点,并包括它是如何配置的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 2019-05-08
  • 1970-01-01
  • 2020-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多