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
中东和非洲:
- 南非北部
- 阿拉伯联合酋长国北部