【问题标题】:Is it possible to modify(insert/update) on-premises SQL server using dataflows in Azure Data Factory是否可以使用 Azure 数据工厂中的数据流修改(插入/更新)本地 SQL 服务器
【发布时间】:2022-08-02 21:43:01
【问题描述】:

我需要使用 azure 数据工厂中的数据流更新本地 sql server 数据库中的表

  1. 我有自托管的集成运行时
  2. 基于此自托管运行时创建的链接服务
  3. 数据集连接工作正常

    但是,当我在数据流中使用相同的数据集时,它会给我这个错误 -

    与主机的 TCP/IP 连接失败。确保 SQL Server 实例正在主机上运行并在端口上接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止。

    如果我需要修改自托管的集成运行时以自动解析 Azure 托管以连接本地 sql server - 对于本地 sql server 数据库透视图,这样做的前提是什么(因为我尝试使用 autoresolve azure 托管运行时它给了我一个错误)?另外,如果需要在 Azure 中修改任何内容,请告诉我。

  • 这不符合您的要求,但您不能使用具有自托管 IR 的数据流,如此处所述:docs.microsoft.com/en-us/azure/data-factory/…。因此,我将从使用 Azure IR 开始,然后查看从那里出现的连接问题
  • 你有没有提到这个tutorial,它解释了如何通过 Azure 数据工厂访问本地 SQL?

标签: azure azure-data-factory sql-server-2019 azure-data-flow azure-integration-runtime


【解决方案1】:
  1. 打开 SQL Server 配置管理器,然后展开您尝试与自托管 IR 连接的 SQL Server 网络配置。
  2. 单击 InstanceName 的协议,然后确保在右侧面板中启用了 TCP/IP,然后双击 TCP/IP。
  3. 在 Protocol 选项卡上,注意 Listen All 项的值。
  4. 单击IP 地址选项卡:如果Listen All 的值为yes,则此SQL Server 实例的TCP/IP 端口号是IPAll 下的TCP Dynamic Ports 项的值。如果 Listen All 的值为 no,则此 SQL Server 实例的 TCP/IP 端口号是特定 IP 地址的 TCP Dynamic Ports 项的值。
  5. 确保TCP Port is 443
  6. 点击OK

    笔记: 确保在完成上述配置后重新启动服务器。

    参考:Firewall requirements for on-premises/private network

【讨论】:

    【解决方案2】:

    感谢大家抽出时间回答我的问题。

    我采用以下方法来解决数据流和本地自托管限制的问题。

    1. 在云数据库中创建了临时表。
    2. 使用管道复制数据活动(自托管 IR)将数据从本地复制到云暂存表。
    3. 在数据流中使用云端表进行查找并执行少量转换。
    4. 修改了数据流中的云表 (Azure IR)
    5. 在管道中添加了多个复制活动,以将云(修改后的数据)复制到本地。

      谢谢,如果有人遇到类似问题,希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      相关资源
      最近更新 更多