本页列出了来自 Azure SQL 数据库的 Microsoft Fabric 镜像数据库 中的当前限制。 此页面的内容可能随时发生变化。
有关故障排除,请参阅:
数据库级别的限制
Azure SQL 数据库的 Fabric 镜像仅支持可写主数据库。
如果数据库已启用变更数据捕获 (CDC)、Azure Synapse Link for SQL,或数据库已在其他 Fabric 工作区中镜像,则无法镜像该 Azure SQL 数据库。
在 Fabric 中可以镜像的表格数量最多为 500 个。 当前,超出 500 个表的限制后,无法复制任何表。
- 如果在配置镜像时选择“ 镜像所有数据 ”,则当所有表都按字母顺序按架构名和表名排序时,要镜像的表是前 500 个表。 按字母顺序排序的列表底部的剩余表不会被镜像。
- 如果取消选择 “镜像所有数据 ”并选择单个表,则无法选择 500 多个表。
向 Azure SQL 数据库部署
.dacpac
时,必须使用发布属性/p:DoNotAlterReplicatedObjects=False
,才能对任何镜像表进行修改。 有关可用于.dacpac
部署的发布设置的详细信息,请参阅 SqlPackage 发布文档。如果为数据库启用了 延迟事务持续性 ,则无法镜像 Azure SQL 数据库。
源数据库中的权限
- 支持行级别安全性,但权限当前不会传播到 Fabric OneLake 中的复制数据。
- 对象级权限(例如向某些列授予权限)当前不会传播到 Fabric OneLake 中的复制数据。
- 动态数据掩码 设置当前不会传播到 Fabric OneLake 中的复制数据。
- 要成功配置 Azure SQL 数据库镜像,必须向用于连接到源 Azure SQL 数据库的主体授予 ALTER ANY EXTERNAL MIRROR 权限,该权限包含在更高级别的权限中,例如 CONTROL 权限或 db_owner 角色。
网络和连接安全性
- 必须启用 Azure SQL 逻辑服务器的系统分配托管标识 (SAMI),并且它必须作为主要标识。
- 不应从 Fabric 镜像数据库项中移除 Azure SQL 数据库服务主体名称 (SPN) 参与者权限。
- 如果 Azure SQL 数据库和 Fabric 工作区位于不同的租户中,则不支持跨 Microsoft Entra 租户进行镜像。
- 在 Azure SQL 数据库中定义的 Microsoft Purview 信息保护/敏感度标签不会级联和镜像到 Fabric OneLake。
表级别
如果主键是数据类型之一,则无法镜像表:sql_variant时间戳/行版本。
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 或向量数据类型,则无法镜像该表。
- 目前,在镜像表时,无法将列更改为 向量 或 json 数据类型。
从 2025 年 4 月开始,即使表没有主键,也可以进行镜像。
- 2025 年 4 月之前没有主键的表不符合镜像条件。 2025 年 4 月之后,即使已选择 “自动镜像未来表”,也不会自动将没有主键的现有表添加到镜像中。
- 选择“自动镜像将来的表”后,若要开始镜像没有主键的表,请执行以下操作:
停止复制并启动复制,此操作将重新传输所有表,并检测符合镜像条件的新表。 这是建议的步骤。
解决方法是在源数据库中创建新表。 此操作会触发和列出源数据库的表,并检测以前未镜像的表,包括没有主键的表。 例如,以下脚本会创建一个名为
test_20250401
的表,并在镜像test_20250401
表后将其删除。 此脚本假定名为dbo.test_20250401
的表已不存在。--This script assumes that a table named dbo.test_20250401 does not already exist. CREATE TABLE dbo.test (ID int not null);
你在镜像表列表中看到它后,应还会看到没有主键的表。 之后,你可以删除
test
表:DROP TABLE dbo.test_20250401;
- 若要在未选择 自动镜像将来的表时启动无主键的镜像表,请在镜像设置中将表添加到所选表列表中。
- 选择“自动镜像将来的表”后,若要开始镜像没有主键的表,请执行以下操作:
- 2025 年 4 月之前没有主键的表不符合镜像条件。 2025 年 4 月之后,即使已选择 “自动镜像未来表”,也不会自动将没有主键的现有表添加到镜像中。
列级
- 如果源表包含计算列,则无法将这些列镜像到 Fabric OneLake。
- 如果源表包含以下数据类型之一的列,则无法将这些列镜像到 Fabric OneLake。 镜像不支持以下数据类型:
- 图像
- 文本/ntext
- xml
- rowversion/timestamp
- sql_variant
- 用户定义类型 (UDT)
- 几何学
- 地理
- 镜像支持复制名称中包含空格或特殊字符的列(如
,
;
{
}
(
)
\n
\t
=
)。 对于启用此功能之前复制下的表,需要更新镜像数据库设置或重启镜像以包括这些列。 从 Delta 列映射支持中了解详细信息。
仓库限制
- 源架构层次结构将复制到镜像数据库。 对于在启用此功能之前创建的镜像数据库,源架构被平面化,并且架构名称被编码到表名中。 如果要使用架构重新组织表,请重新创建镜像数据库。 从 复制源架构层次结构了解详细信息。
镜像项限制
- 用户必须是工作区管理员/成员角色的成员,才能创建 SQL 数据库镜像。
- 停止镜像会完全禁用镜像。
- 启动镜像后,会重新设定所有表的种子值,实际上就是从头开始。
SQL 分析终结点限制
- SQL 分析终结点与 Lakehouse SQL 分析终结点相同。 它也是一种只读体验。 请参阅 SQL 分析终结点限制。
支持的区域
以下是支持数据库镜像和开放镜像的 Fabric 区域:
美洲:
- 巴西南部
- 加拿大中部
- 加拿大东部
- 美国中部
- 美国东部
- 美国东部 2
- 美国中北部
- 美国中南部
- 美国西部
- 西部美国 2
- 美国西部 3
亚太地区:
- 东亚
- 东南亚
- 澳大利亚东部
- 澳大利亚东南部
- 印度中部
- 印度南部
- 日本东部
- 韩国中部
欧洲、中东和非洲:
- 北欧
- 西欧
- 法国中部
- 德国中西部
- 意大利北部
- 挪威东部
- 波兰中部
- 南非北部
- 瑞典中部
- 瑞士北部
- 瑞士西部
- 阿拉伯联合酋长国北部
- 英国南部
- 英国西部