SQL Server 中Microsoft Fabric 镜像数据库的限制

本页中列出了来自 SQL Server 的 Microsoft Fabric 镜像数据库 的当前限制。 此页面的内容可能随时发生变化。

重要

此功能目前为预览版

有关故障排除,请参阅:

平台限制

  • 在 Azure 虚拟机中运行的 SQL Server 2025 实例目前不支持 SQL Server 2025 的结构镜像功能。
  • Linux 上的 SQL Server 当前不支持 SQL Server 2025 的构造镜像。

数据库级别的限制

  • SQL Server 的构造镜像仅在可用性组的主数据库上受支持。

  • 如果已为 Azure Synapse Link for SQL 配置了数据库,或者该数据库已在另一个 Fabric 工作区中镜像,则无法镜像 SQL Server 数据库。

    • 如果在源数据库上启用了更改数据捕获(CDC),则无法镜像 SQL Server 2025 实例中的数据库。
  • 在 Fabric 中可以镜像的表格数量最多为 500 个。 当前,超出 500 个表的限制后,无法复制任何表。

    • 如果在配置镜像时选择“镜像所有数据”,将依次根据架构名称和表名称按字母顺序对所有表进行排序,要镜像的表为前 500 个表。 按字母顺序排序的列表底部的剩余表不会被镜像。
    • 如果取消选择“镜像所有数据”,并选择单独的表,则无法选择超过 500 个表。
  • .dacpac 部署到 SQL Server 时,需要发布属性 /p:DoNotAlterReplicatedObjects=False 才能对任何镜像表进行修改。 如需详细了解部署 .dacpac 时可以使用的发布设置,请参阅 SqlPackage 发布文档

  • 启用以下功能时,不支持从 SQL Server 2025 进行结构镜像:

    • 重复
    • CDC
      • 在 SQL Server 2016-2022 中,Fabric 镜像需要 CDC。
  • 如果为数据库启用了 延迟事务持续性 ,则无法镜像 SQL Server 数据库。

源数据库中的权限

  • 支持行级别安全性,但权限目前不会传播到 Fabric OneLake 中的复制数据。
  • 对象级权限(例如向某些列授予的权限)当前不会传播到 Fabric OneLake 中的复制数据。
  • 动态数据掩码设置当前不会传播到 Fabric OneLake 中的复制数据。
  • 若要成功为 SQL Server 配置镜像,必须向用于连接到源 SQL Server 的主体授予 ALTER ANY EXTERNAL MIRROR 的权限,该权限包含在更高级别的权限(如 CONTROL 权限或 db_owner 角色)中。

网络和连接安全性

  • 不应从 Fabric 镜像数据库项中删除 SQL Server 服务主体名称(SPN)参与者权限。
  • 不支持跨 Microsoft Entra 租户进行镜像,其中 SQL Server 实例和 Fabric 工作区位于单独的租户中。 
  • Microsoft SQL Server 中定义的 Purview 信息保护/敏感度标签不会级联并镜像到 Fabric OneLake。

表级别

  • 当表的主键是数据类型 sql_varianttimestamp 或 / 中的一种时,该表无法被镜像。

  • 当镜像 SQL Server 2016 到 SQL Server 2022 时,如果表没有主键,则无法镜像表。

  • Delta Lake 仅支持六位精度。

    • 精度为 7 位数的小数秒、SQL 类型为 datetime2 的列在 Fabric OneLake 的 Delta 文件中没有具有相同精度的相应数据类型。 如果镜像此类型的列,则会发生精度损失,并且将剪裁小数秒的第七位数。
    • 如果主键为以下数据类型之一,则无法对表进行镜像处理:datetime2(7)、datetimeoffset(7)、time(7),其中 表示七位精度7
    • datetimeoffset(7) 数据类型在 Fabric OneLake 的 Delta 文件中没有具有相同精度的相应数据类型。 如果镜像此类型的列,则会发生精度损失(时区和第七位时间小数丢失)。
  • 聚集列存储索引当前不受支持。

  • 如果表中的一个或多个列是大型二进制对象 (LOB) 类型,并且大小 > 1 MB,则列数据在 Fabric OneLake 中将被截断为 1 MB 大小。

  • 无法镜像使用了以下任何功能的源表。

    • 时态历史记录表和账本历史记录表
    • 始终加密 (Always Encrypted)
    • 内存中表
    • 图表
    • 外部表
  • 如果为 SQL 数据库源表启用了镜像操作,则不允许对其执行以下表级数据定义语言 (DDL) 操作。

    • 更改/分割/合并分区
    • 更改主键
  • 有 DDL 更改时,会为更改的表重新启动完整的数据快照,并重新设定数据种子值。

  • 目前,如果表具有 json 或向量数据类型,则无法镜像该表。

    • 目前,当表被镜像时,无法将列更改为 vectorjson 数据类型。

列级

  • 从 SQL Server 进行构造镜像不会复制以下数据类型:
    • CLR
    • 矢量
    • json
    • 几何学
    • 地理
    • hierarchyid
    • sql_variant
    • 时间戳/行版本
    • xml
    • 用户定义类型 (UDT)
    • 图像
    • 文本/ntext
  • 如果源表包含计算列,则无法将这些列镜像到 Fabric OneLake。 
  • 镜像支持复制名称中包含空格或特殊字符的列(如 ,;{}()\n\t=)。 对于启用此功能之前复制下的表,需要更新镜像数据库设置或重启镜像以包括这些列。 从 Delta 列映射支持中了解详细信息。

仓库限制

  • 源架构层次结构将复制到镜像数据库。 对于在启用此功能之前创建的镜像数据库,源架构被平面化,并且架构名称被编码到表名中。 如果要使用架构重新组织表,请重新创建镜像数据库。 从 复制源架构层次结构了解详细信息。

镜像项限制

  • 用户必须是工作区管理员/成员角色的成员,才能创建 SQL 数据库镜像。 
  • 停止镜像会完全禁用镜像。 
  • 启动镜像后,会重新设定所有表的种子值,实际上就是从头开始。 

SQL 分析终结点限制

支持的区域

以下是支持数据库镜像和开放镜像的 Fabric 区域:

美洲:

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

亚太地区

  • 东亚
  • 东南亚
  • 澳大利亚东部
  • 澳大利亚东南
  • 印度中部
  • 印度南部
  • 日本东部
  • 韩国中部

欧洲、中东和非洲

  • 北欧
  • 西欧
  • 法国中部
  • 德国中西部
  • 意大利北部
  • 挪威东部
  • 波兰中部
  • 南非北部
  • 瑞典中部
  • 瑞士北部
  • 瑞士西部
  • 阿拉伯联合酋长国北部
  • 英国南部
  • 英国西部

后续步骤