Azure SQL 托管实例中的 Microsoft Fabric 镜像数据库的限制(预览)

本页面列出了来自 Azure SQL 托管实例的 Microsoft Fabric 镜像数据库当前存在的限制。 此页面的内容可能随时发生变化。

有关故障排除,请参阅:

功能可用性

如果将 Azure SQL 托管实例部署到除美国东部 2、美国西部 2、美国中部和美国西部以外的任何 Azure,可以配置该实例进行镜像。 有关区域支持的完整列表,请参阅支持镜像的 Fabric 区域

数据库级别的限制

  • Azure SQL 托管实例的镜像仅适用于更新策略设置为“始终最新”的实例。 SQL Server 2022 版本的 SQL 托管实例不支持镜像。
  • 镜像不支持异地灾难恢复设置。
  • 只有可写的主数据库支持 Azure SQL 托管实例的 Fabric 镜像。
  • 如果 Azure SQL 托管实例数据库已启用变更数据捕获 (CDC)、事务复制,或者数据库已在其他 Fabric 工作区中镜像,则无法镜像该数据库。
  • 可以镜像到 Fabric 中的表不超过 500 个。 当前,超出 500 个表的限制后,无法复制任何表。
    • 如果在配置镜像时选择“镜像所有数据”,将依次根据架构名称和表名称按字母顺序对所有表进行排序,要镜像的表为前 500 个表。 按字母顺序排序的列表底部的剩余表不会被镜像。
    • 如果取消选择“镜像所有数据”,并选择单独的表,则无法选择超过 500 个表。
  • 镜像的数据库不支持数据库复制/移动功能。 如果移动或复制启用了镜像的数据库,则复制将报告镜像错误状态。
  • 如果 SQL 托管实例数据库设置为使用 Azure SQL 托管实例链接功能,则不支持只读副本作为 Fabric 镜像的源。
  • 如果数据库配置为进行镜像,然后被重命名,则“监视镜像”功能将停止工作。 将数据库重命名为设置镜像时的名称将解决此问题。

源数据库中的权限

  • 支持行级别安全性,但权限目前不会传播到 Fabric OneLake 中的复制数据。
  • 对象级权限(例如向某些列授予的权限)当前不会传播到 Fabric OneLake 中的复制数据。
  • 动态数据掩码设置当前不会从源数据库传播到 Fabric OneLake。
  • 为了成功配置 Azure SQL 托管实例的镜像,需要向用于连接到源 SQL 托管实例的主体授予 CONTROL 或 db_owner 权限。 建议仅在镜像的数据库上授予此权限 - 不要在整个服务器级别上执行此操作。

网络和连接安全性

  • 源 SQL 托管实例需要启用公共终结点并允许 Azure 服务连接到它。
  • 需要启用 Azure SQL 托管实例的系统分配的托管标识 (SAMI),并且必须是主要标识。
  • 不得从 Fabric 镜像数据库项中移除 Azure SQL 托管实例服务主体名称 (SPN) 参与者权限。
  • 不支持用户分配的托管标识 (UAMI)。
  • 如果 Azure SQL 托管实例和 Fabric 工作区位于不同的租户中,则不支持跨 Microsoft Entra 租户进行镜像。 
  • 在 Azure SQL 托管实例中定义的 Microsoft Purview 信息保护/敏感度标签不会镜像到 Fabric OneLake。

表级别

  • 无法对不具有定义的主键的表进行镜像处理。
    • 如果表使用定义为非聚集主键的主键,则无法对其进行镜像处理。
    • 如果表的主键是数据类型 sql_variant、timestamp / rowversion 中的一种,则无法镜像该表
    • 如果主键为以下数据类型之一,则无法对表进行镜像处理:datetime2(7)、datetimeoffset(7)、time(7),其中 7 表示七位精度
    • Delta Lake 仅支持六位精度。
      • 精度为 7 位数的小数秒、SQL 类型为 datetime2 的列在 Fabric OneLake 的 Delta 文件中没有具有相同精度的相应数据类型。 如果镜像此类型的列,则会发生精度损失,并且将剪裁小数秒的第七位数。
      • datetimeoffset(7) 数据类型在 Fabric OneLake 的 Delta 文件中没有具有相同精度的相应数据类型。 如果镜像此类型的列,则会发生精度损失(时区和第七位时间小数丢失)。
    • 聚集列存储索引当前不受支持。
  • 如果表中的一个或多个列是大型二进制对象 (LOB) 类型,并且大小 > 1 MB,则列数据在 Fabric OneLake 中将被截断为 1 MB 大小。 配置最大文本重放大小服务器配置选项,以允许超过 65,536 字节(如果想要允许大型插入)。
  • 无法镜像使用了以下任何功能的源表:
    • 时态历史记录表和账本历史记录表
    • Always Encrypted
    • 内存中表
    • Graph
    • 外部表
  • 如果源表启用了 Azure SQL 托管实例到 Microsoft Fabric 的镜像,则不允许对这些表执行以下表级数据定义语言 (DDL) 操作。
    • 切换/分割/合并分区
    • 更改主键
    • 截断表
  • 有 DDL 更改时,会为更改的表重新启动完整的数据快照,并将整个表数据重设定种子到 Fabric OneLake。
  • 目前,如果表具有 json 数据类型,则无法镜像该表。
    • 目前,在镜像表时,不能将列更改为 json 数据类型。
  • 镜像不支持视图和具体化视图。

列级别

  • 如果源表包含计算列,则无法将这些列镜像到 Fabric OneLake。 
  • 如果源表包含以下数据类型之一的列,则无法将这些列镜像到 Fabric OneLake。 镜像不支持以下数据类型:
    • image
    • text/ntext
    • xml
    • json
    • rowversion/timestamp
    • sql_variant
    • 用户定义类型 (UDT)
    • geometry
    • 地理
  • SQL 表的列名称不能包含空格,也不能包含以下字符:, ; { } ( ) \n \t =
  • 如果源表启用了 Azure SQL 托管实例到 Microsoft Fabric 的镜像,则不支持对这些表执行以下列级数据定义语言 (DDL) 操作:
    • 更改列
    • 重命名列 (sp_rename)

镜像项限制

  • 用户必须是工作区管理员/成员角色的成员,才能创建 SQL 托管实例镜像。 
  • 停止镜像会完全禁用镜像。 
  • 启动镜像后,会重新设定所有表的种子值,实际上就是从头开始。 
  • 如果 Fabric 容量停止后再重启,镜像将停止工作,需要手动重启。 不会显示警告/错误消息来指示镜像停止工作。

SQL 分析终结点限制

  • SQL 分析终结点与湖屋 SQL 分析终结点相同。 它也是一种只读体验。 请参阅 SQL 分析终结点的限制
  • 源架构层次结构不会复制到镜像数据库。 相反,源架构将被平展,架构名称会被编码为镜像数据库表名称。 

支持镜像的 Fabric 区域

以下是支持 Azure SQL 托管实例镜像的 Fabric 区域:

亚太:

  • 澳大利亚东部
  • 澳大利亚东南部
  • 印度中部
  • 东亚
  • Japan East
  • 韩国中部
  • 东南亚
  • 印度南部

欧洲

  • 北欧
  • 西欧
  • 法国中部
  • 德国中西部
  • 挪威东部
  • 瑞典中部
  • 瑞士北部
  • 瑞士西部
  • 英国南部
  • 英国西部

美洲:

  • 巴西南部
  • 加拿大中部
  • 加拿大东部
  • 美国东部 2
  • 美国西部 2

中东和非洲

  • 南非北部
  • 阿拉伯联合酋长国北部

下一步