排查 Azure Synapse Analytics 无服务器 SQL 池Azure Synapse链接问题

适用于:Azure Synapse Analytics

本文提供有关 Azure Synapse Link for Azure Synapse Analytics 无服务器 SQL 池遇到的常见问题的解决方案。

数据导出服务 (DES) 弃用

通过以下文章了解如何从数据导出服务转换到 Azure Synapse Link for Dataverse:

准实时数据和只读快照数据

为 Dataverse 创建Azure Synapse链接后,将在 Azure Synapse Analytics 和/或Azure Data Lake Storage Gen2中同步两个版本的表数据:

表类型 说明
准实时数据 通过使用 Azure Synapse Link,通过检测自最初提取或上次同步以来哪些数据发生了更改,从而提供从 Dataverse 同步的数据副本。
快照数据 提供准实时数据的只读副本,在这种情况下, (每隔一小时) 更新一次。

有关详细信息,请参阅访问准实时数据和只读快照数据

增量更新 (预览版)

使用 Azure Synapse 工作区创建 Dataverse Azure Synapse 链接时,可以启用增量更新功能,以创建一系列带有时间戳的文件夹,其中仅包含用户指定的时间间隔内对 Dataverse 数据所做的更改。

有关详细信息,请参阅 查询和分析增量更新 (预览版)

访问 Azure Cosmos DB 数据

可以使用 Spark 池和无服务器 SQL 池查询分析存储中的 Azure Cosmos DB 数据。 按照以下文章中的步骤解决常见问题:

无法查询 Azure Cosmos DB 容器

请确保已在 Azure Cosmos DB 帐户中正确配置 Azure Synapse Link 和分析存储。

了解架构表示形式

分析存储中有两种架构表示模式。 这些模式在列式表示的简单性、处理多态架构和查询体验的简单性之间有权衡:

  • Azure Cosmos DB SQL API) (默认定义的架构表示形式
  • Azure Cosmos DB API for MongoDB) 的完全保真架构表示形式 (默认值

了解如何 自动处理分析存储架构

查询结果中缺少属性 (列)

如果缺少 Azure Cosmos DB 容器中存在的列,则可能违反了架构约束。 启用分析存储以自动推断并正确表示架构时,以下约束适用于 Azure Cosmos DB 中的操作数据:

  • 文档架构中所有嵌套级别最多可以有 1,000 个属性,最大嵌套深度为 127。
  • 分析存储中仅表示前 1,000 个属性。
  • 分析存储中仅表示前 127 个嵌套级别。
  • JSON 文档的第一个级别是其根级别。
  • 文档第一级中的属性将表示为列。

有关架构约束的详细信息,请参阅 分析存储 - 概述

将传播所有事务操作,包括删除操作。 分析存储生存时间 (TTL) 设置也可能导致数据删除。

  • 如果文档在事务存储中删除,也会从分析存储中删除该文档,尽管这两个存储的 TTL 都存在。
  • 如果事务 TTL 小于分析 TTL,则数据将从事务存储进行存档,但保留在分析存储中,达到配置的 TTL 限制。
  • 如果事务 TTL 大于分析 TTL,则会从分析存储中存档数据,并在事务存储中保留数据,达到配置的 TTL 限制。
  • 如果使用 SQL API,则默认情况下会明确定义架构,这意味着集合中的第一个文档定义分析存储架构。 如果文档不符合第一个文档的架构,则不会将其同步到分析存储。

资源