Microsoft Fabric 中的镜像提供了无缝的 no-ETL 体验,用于将现有 Azure Cosmos DB 数据与 Fabric 中的其余数据集成。 使用本文中的提示来帮助排查在 Fabric 中创建 Azure Cosmos DB 镜像数据库时可能会遇到的问题。
重要
Azure Cosmos DB 的镜像目前为 预览版。 预览期间不支持生产工作负荷。 目前,仅支持用于 NoSQL 帐户的 Azure Cosmos DB。
下面是将 Azure Cosmos DB 数据库镜像到 Microsoft Fabric 未按预期工作时要遵循的常见问题和相关故障排除步骤的列表。
加载出现“SQLAPIendpoint”错误的数据库时,镜像失败。 如何解决此错误?
此错误通常表示 Azure Cosmos DB 帐户密钥对所选的连接不再有效。 使用有效的帐户密钥更新连接凭据后,请再次设置镜像。
Fabric 无法配置镜像,并显示指示 Azure Cosmos DB 帐户没有连续备份的错误。 如何修复此错误?
为 Azure Cosmos DB 帐户启用连续备份。 有关详细信息,请参阅 创建包含连续备份的 Azure Cosmos DB 帐户 ,或 将现有 Azure Cosmos DB 帐户迁移到连续备份。
启用连续备份功能后,返回到 Fabric 镜像设置并继续执行剩余步骤。
如何知道我的 Azure Cosmos DB 帐户是否已启用连续备份?
使用 Azure 门户,可以通过在 Azure Cosmos DB 帐户的资源菜单中查找 时间点还原 选项来检查是否启用了连续备份功能。 如果此选项不可用,则帐户未启用连续备份,或者该帐户正在迁移到连续备份。
在 Azure Cosmos DB 帐户中启用连续备份会导致各种错误。 是否仍可以设置 Fabric 镜像?
否,必须为要用作镜像源的 Azure Cosmos DB 帐户启用连续备份。
如果在为 Azure Cosmos DB 帐户启用连续备份时出现错误消息,该帐户可能会有阻止该功能的限制。 例如,如果以前删除了帐户的分析存储,则帐户不支持连续备份。 在此方案中,唯一的剩余选项是使用新的 Azure Cosmos DB 帐户进行镜像。
为什么复制不起作用,选择“监视复制”时出现“内部服务器错误”?
如果使用 Entra ID 进行身份验证,请验证是否已添加所需的基于角色的访问控制权限。 有关详细信息,请参阅 Azure Cosmos DB 镜像安全限制。
否则,复制可能会正常工作,如果 Azure Cosmos DB 正在限制来自 Fabric 的请求,则会看到暂时性错误。 此外,Azure Cosmos DB 可能存在镜像限制,导致此问题。 有关详细信息,请参阅 Azure Cosmos DB 镜像限制。
刷新 Fabric 门户并确定问题是否已自动解决。 此外,还可以取消选择并重新选择受影响的容器以停止和重启复制。 如果这些选项都不起作用, 请开具支持票证。
如何确定 Fabric 正在从 Azure Cosmos DB 复制数据?
首先,请遵循 Fabric 镜像数据库的常规故障排除步骤。 有关详细信息,请参阅 故障排除。
在大多数情况下, 监视器复制 选项可以提供进一步的详细信息,指示数据是否成功复制到 Fabric。 常见的故障排除步骤是检查 上次刷新时间是否为最近刷新时间 。 如果时间不是最近时间,请停止,然后重启复制,作为下一步。 请注意,仅当源数据库自复制记录以来发生更改时,才会更新“上次刷新时间”。 如果源数据库没有更新、删除或插入,则不会更新“上次刷新时间”。
“监视复制”窗格包含大量时间后没有复制行的表。 复制是否停滞?
复制可能会停滞不前。 取消选择受影响的容器,然后重新选择以作为第一步重启复制。 如果此步骤不起作用, 请开具支持票证。
为什么在 SQL 分析终结点中找不到任何表?
首先,刷新 架构 和 dbo 节点以确定表是否已准备就绪。 表准备就绪后会自动加载。 如果在大量时间后未准备好任何表,请使用 “监视复制 ”窗格来确定是否发生了任何复制错误。
为什么目标仓库表在复制后仅包含“_rid”列?
首先,刷新 架构 和 dbo 节点以确定表是否已准备就绪。 表准备就绪后会自动加载。 如果在大量时间后未准备好更多列,请使用 “监视复制 ”窗格来确定是否发生了任何复制错误。
我向 Azure Cosmos DB 数据库中的容器添加了新项。 这些项不包括在 SQL 分析终结点查询的结果中。 如何知道复制是否正常工作?
监视器复制选项可以提供进一步的详细信息,指示数据是否成功复制到 Fabric。 常见的故障排除步骤是检查 上次刷新时间是否为最近刷新时间 。 如果时间不是最近时间,请停止,然后重启复制,作为下一步。 如果时间最近,请再次尝试查询。 有时,将数据插入到 Azure Cosmos DB 中,数据在 Fabric 中复制和可用之间可能存在延迟。
如果数据仍然不可用,请使用 Lakehouse 创建快捷方式并从笔记本运行 Spark 查询。 Spark 始终显示最新数据。 如果数据在 Spark 中可用,但 SQL 分析不可用, 请开具支持票证。
如果数据在 Spark 中也不可用,则复制延迟可能存在意外问题。 等待一段时间,然后重试复制。 如果问题仍然存在, 请开具支持票证。
为什么我收到“JSON 文本的格式不正确。 针对 SQL 分析终结点运行 T-SQL 查询时,在位置处发现了意外字符“”错误消息?
数据仓库无法处理大小大于 8 KB 的 JSON 字符串列。 在 SQL 分析终结点或仓库表中以 JSON 字符串表示的嵌套数据通常会导致列的大小增加到 8 KB 以上。 如果收到此错误消息,则监视嵌套级别和数据量。 有关详细信息,请参阅 数据仓库限制。
Cosmos DB 镜像是否支持具有特殊字符的列名?
是的,支持空格或通配符的 =, ;, {}, (), \n, \t 列名。