繁体   English   中英

如何从 Azure Synapse 连接到本地 SQL 服务器

[英]How to connect to on-premise SQL Server from Azure Synapse

我们目前正在创建一个新的 Azure Synapse Analytics 环境来存放我们的数据。 为此,我们需要从 Synapse 连接到我们的本地 SQL 服务器数据库。

这些数据库无法从开放的 inte.net 访问,只能从我们自己的网络访问。 对于我们在 Azure 上的其他应用程序,我们设置了一个 hub-spoke model.network,其中 hub 连接到我们的 internal.network,spoke 中的 VNet 与 hub 对等。 通过这种方式,我们已经能够连接到其他应用程序(如 AKS)中的本地数据库服务器。

但是,这似乎不适用于 Azure Synapse。 那怎么办呢?

到目前为止我尝试了什么

Azure 数据工厂文档包含以下页面,概述了建立此连接的指南,使用专用链接服务、负载均衡器和几个配置为使用iptables将特定端口上的流量转发到服务器的虚拟机。

我已经实施了这个解决方案,但我不太相信这个。 最重要的是,iptables 配置似乎不会在 VM 重启时持续存在。 这并没有激发人们对该解决方案的很多信任,因为这感觉不像是应该按原样用于生产的东西。

同时,我无法想象连接到内部部署的数据库服务器是如此困难,以至于没有更好的解决方案。 我们不能是唯一遇到这个问题的人。

所以我的问题是,真的没有其他更好的方法来建立这种连接吗?

假设您的本地 SQL 服务器在 Windows 机器上运行,您可以使用自托管集成运行时 (IR) go 将 Azure Synapse Analytics 与本地 SQL 服务器连接起来。

自托管集成运行时可以在云数据存储和私有网络中的数据存储之间运行复制活动。 它还可以针对 on-premises.network 或 Azure virtual.network 中的计算资源分派转换活动。 自托管集成运行时的安装需要本地计算机或私有网络中的虚拟机。

这里提到了使用自承载 IR 的注意事项。

您可以通过 PowerShell 或 UI 创建和配置自承载 IR。 尽管 UI 是部署它的最简单方法。 您可以参考微软官方文档中给出的步骤使用 UI 执行相同的操作。

我们有同样的问题,基本上我们只找到了 3 种方法将数据从本地 SQL 服务器复制到 Synapse:

  1. 理论上,您可以在本地防火墙中打开所有 Microsoft Synapse 公共 IP,然后您可以使用 Azure IR(它将对同一区域中的每个 Azure Synapse 开放)。 IP地址列表
  2. 在本地计算机中安装自托管 IR
  3. 在 Azure 中的 VM 中安装自托管 IR,该 VM 位于 .NET 中,可以访问您的本地网络(VPN/Express Route)

暂无
暂无

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

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