数据流 Gen2 中数据目标的本地和 VNET 数据网关注意事项

本文列出了在 Dataflow Gen2 中使用数据网关时,与数据目的地场景相关的限制和注意事项。

引用查询时端口 1433 出现的网络问题

将 Microsoft Fabric Dataflow Gen2 与本地数据网关配合使用时,可能会遇到数据流刷新过程的问题。 当网关无法连接到数据流暂存数据湖屋以便先读取数据,然后再在引用暂存数据的查询中使用数据时,会出现根本问题。 如果单个查询未引用暂存数据和写入数据目标,则此问题不再是问题。

在整体数据流刷新期间,表刷新可以显示为“成功”,但活动部分显示为“失败”。 活动 WriteToDatabaseTableFrom_... 的错误详细信息指示以下错误:

Mashup Exception Error: Couldn't refresh the entity because of an issue with the mashup document MashupException.Error: Microsoft SQL: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - An attempt was made to access a socket in a way forbidden by its access permissions.) Details: DataSourceKind = Lakehouse;DataSourcePath = Lakehouse;Message = A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - An attempt was made to access a socket in a way forbidden by its access permissions.);ErrorCode = -2146232060;Number = 10013

注意

从体系结构的角度来看,数据流引擎使用出站 HTTPS(端口 443)终结点将数据写入湖屋。 但是,从 Lakehouse 读取数据需要使用 TDS 协议(通过端口 1433 上的 TCP)。 此协议用于将数据从暂存湖仓复制到引用的查询中,以便进一步处理。 这解释了为什么第一个查询会成功,而引用第一个查询的查询可能会失败,即使这两个数据湖屋都在同一 OneLake 实例中也是如此。

故障排除

若要排查该问题,请查看失败的表或活动的错误详细信息,该详细信息提供有关遇到的错误的信息。

显示错误信息的 WriteToDatabaseTablefrom 活动的屏幕截图。

解决方案:在运行网关的服务器上设置新的防火墙规则

需要更新网关服务器和/或客户代理服务器上的防火墙规则,以允许从网关服务器到以下终结点的出站流量。 如果防火墙不支持通配符,请使用 Azure IP 范围和服务标记中的 IP 地址。 它们必须每个月保持同步。

  • 协议:TCP
  • 端点:*.datawarehouse.pbidedicated.windows.net、*.datawarehouse.fabric.microsoft.com、*.dfs.fabric.microsoft.com
  • 端口:1433

注意

在某些情况下,特别是当容量位于距离网关最近的区域时,可能需要配置防火墙以允许访问多个端点 (*cloudapp.azure.com)。 需要进行此调整以适应在这些情况下可能发生的重定向。 如果发往 *.cloudapp.azure.com 的流量没有被规则拦截,也可以在防火墙中允许数据区域的 IP 地址

如果要将终结点的范围缩小到工作区中的实际 OneLake 实例,(而不是通配符 *.datawarehouse.pbidedicated.windows.net),可以通过导航到 Fabric 工作区、查找 DataflowsStagingLakehouse 并选择“查看详细信息”到该 URL。 然后,复制并粘贴 SQL 连接字符串。

Fabric 工作区的屏幕截图,显示 DataflowsStagingLakehouse,并选择了省略号,并突出显示“查看详细信息”选项。

DataflowsStagingLakehouse 详细信息的截图,强调了 SQL 连接字符串。

整个终结点名称类似于以下示例:

x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net

解决方法:将多个查询合并为一个查询或禁用查询暂存

如果无法更新防火墙规则,可以将相互引用的查询合并为单个查询,或者禁用所引用的所有查询的暂存。 虽然这不是最终解决方案,可能会影响复杂转换的性能,但可以将其用作临时解决方案,直到防火墙规则可以更新。