9

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

SQL 服务器在专用网络中。

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

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

谢谢, 乌梅什

4

2 回答 2

23

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

另一种推荐的方法是使用Azure App Service Hybrid Connections。为此,您需要在您的应用程序中添加和创建混合连接。您将在数据库服务器或与本地数据库位于同一网络中的另一台服务器中下载并安装代理(混合连接管理器)。

主要步骤如下:

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

您可以获得有关如何将 Azure Web 应用程序连接到本地的更多详细信息。

于 2019-02-22T07:51:37.373 回答
3

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

于 2019-02-22T07:25:28.903 回答