将数据从本地 SQL 服务器复制到 Azure SQL - Azure 专用网络

Copy Data From On-Premise SQL Server To Azure SQL - Azure Private Network

要求: 我想将驻留在本地 SQL 服务器上的特定 table/view 的数据复制到 Azure SQL 数据库.

基础设施: 如下图所示。本质上,Azure 网络通过 Express Route 直接与企业网络相连。因此这是一个纯粹的私人网络连接;与公司网络本身一样好。

Issue/Question: 我知道有多种方法可以完成此操作,而且我不仅限于使用 ADF 复制数据工具。但是,对于所有这些,我看到一些注意事项或需要完成的额外步骤如下:

ADF 复制数据工具: 需要一个 SH-IR 并且需要在托管 SQL 服务器的本地机器上安装一个小的 MSI 包以进行注册目的。

逻辑应用程序:需要虚拟网关 (OR) ASE

应用服务: 如果操作包装在 C# 应用程序中并且我选择部署到 Azure Web 应用程序。然后为了连接到本地 SQL 服务器,我们需要设置混合连接管理器,并且如 #1 中所示,我们需要在本地机器上安装一些东西。

对于我的情况,可以完成 none 这些额外步骤。本质上,本地 SQL 服务器属于不同的 BU,因此我在那里没有任何权限;除了他们已经授予了 table/view。因此,可以完成 none 这些额外的低级步骤。

此外,如上所述;因为它作为直接连接通过快速路由连接,如上图所示,内部部署和 azure SQL 本质上都在同一个公司网络中。因此,我应该能够直接访问它们,而无需配置上述任何这些额外步骤。

请确认这些并提出建议。

谢谢。

有 2 种解决方案适用于您的场景,但即使它们适用,您也需要在某种程度上访问本地 SQL 服务器计算机至少一次配置和 Azure SQL 数据库应该可以通过 on-prem 机器上安装的 SSMS 访问。

  1. 使用链接服务器

您可以在 on-prem 服务器上创建链接服务器(此处 https://www.sqlshack.com/create-linked-server-azure-sql-database/ 解释了过程)并创建代理服务器作业以将数据插入 azure SQL db table .

  1. 通过Python脚本

这需要 Python 在 on-prem 机器上安装。安装后,您可以编写脚本在 on-prem SQL 服务器和 Azure SQL 数据库之间传输数据。您可以使用代理服务器作业再次安排此脚本。

您仍然可以在没有 SHIR 的情况下使用 ADF 方案,方法是使用专用端点在托管 VNET 中创建 ADF。由于您已经拥有 ER 电路并且可以灵活地配置 Azure 端,您可以使用 Azure IR 执行此操作吗:Access on-premises SQL Server from Data Factory Managed VNet using Private Endpoint - Azure Data Factory | Microsoft Docs