在 Microsoft Fabric 中克隆表

适用于:✅Microsoft Fabric 中的仓库

Microsoft Fabric 提供以最低存储成本创建近乎即时的零复制克隆的功能。

  • 表克隆通过在较低环境中创建表的副本来促进开发和测试过程。
  • 表克隆为分析工作负载以及机器学习建模和测试提供一致的报告和数据的零拷贝复制。
  • 表克隆通过保留以前的数据状态,在发布失败或数据损坏时提供数据恢复功能。
  • 表克隆有助于创建反映过去特定时间点的数据状态的历史报告。
  • 特定时间点的表克隆可以保留特定业务时间点的数据状态。

可以使用 CREATE TABLE AS CLONE OF T-SQL 命令创建表克隆。 有关教程,请参阅教程:使用 T-SQL 克隆表教程:在 Fabric 门户中克隆表

还可以使用 T-SQL OPTION 语法查询仓库中过去显示的数据。 有关更多信息,请参阅过去存在的查询数据

什么是零复制克隆?

零复制克隆通过复制元数据来创建表副本,同时仍然引用 One Lake 中的相同数据文件。 复制元数据,但不复制以 parquet 文件形式存储的表的基础数据。 克隆的创建类似于在 Microsoft Fabric 中的仓库中创建表。

Synapse 数据仓库中的表克隆

创建表克隆

在仓库内,可以使用简单的 T-SQL 近乎即时地创建表的克隆。 可以在仓库中的架构内或跨架构创建表的克隆。

可以根据以下任一项创建表的克隆:

  • 当前时间点: 克隆基于表的当前状态。

  • 以前的时间点:克隆基于过去最多 30 天的时间点。 表克隆包含数据,因为它出现在所需的过去时间点。 在业内,此功能被称为“时间旅行”。 使用基于 UTC 的时间戳创建新表。 有关示例,请参阅从过去时间点克隆表CREATE TABLE AS CLONE OF

还可以一次性克隆一组表。 这对于在过去的同一时间点克隆一组相关表非常有用。 有关示例,请参阅一次性克隆多个表

还可以使用仓库中的时间旅行功能在表中查询数据。

数据保留

仓库会自动保留和维护 30 个日历日的数据历史记录,从而允许在某个时间点进行克隆。 对数据仓库所做的所有插入、更新和删除都将保留 30 个日历日。

在架构内和跨架构创建的克隆数没有限制。

分离且独立

创建后,表克隆是数据独立于源的单独的副本。

  • 克隆表的源上的 DML 或 DDL 所做的任何更改都不会反映在克隆表中。
  • 同样,克隆表上的 DDL 或 DML 所做的任何更改都不会反映在克隆表的源上。

创建表克隆的权限

创建表克隆需要以下权限:

  • 具有“管理员”、“成员”或“参与者”工作区角色的用户可以克隆工作区中的表。 “查看者”工作区角色无法创建克隆。
  • 需要对表克隆源的所有行和列具有 SELECT 权限。
  • 用户必须在将创建克隆的架构中具有 CREATE TABLE 权限。

删除表克隆

由于数据自主存在,因此可以不受任何约束地删除其原始源和克隆。 克隆创建后将一直存在,直到用户将其删除。

  • 具有“管理员”、“成员”或“参与者”工作区角色的用户可以删除工作区中的表克隆。
  • 对表克隆所在架构具有 ALTER SCHEMA 权限的用户可以删除表克隆。

表克隆继承

此处所述的对象包含在表克隆中:

  • 克隆表从克隆的源表继承对象级 SQL 安全性。 由于工作区角色默认提供读取访问权限,因此可以根据需要对表克隆设置 DENY 权限。

  • 克隆表从克隆表的源继承行级别安全性 (RLS)动态数据掩码

  • 克隆表会继承存在于源表上的所有属性,无论克隆是在相同架构中创建还是跨仓库中的不同架构创建。

  • 克隆表会继承在源表中定义的主键约束和唯一键约束。

  • 将为在仓库中创建的每个表克隆创建只读增量日志。 存储为增量 parquet 文件的数据文件是只读的。 这可以确保数据始终受到保护,防止损坏。

表克隆场景

在以下有利场景下,请考虑以最低存储成本近乎实时克隆表的功能:

开发和测试

通过表克隆,开发人员和测试人员可以试验、验证和优化表,而不会影响生产环境中的表。 克隆可提供一个安全、隔离的空间,用于执行新功能的开发和测试活动,确保生产环境的完整性和稳定性。 可以使用表克隆快速启动类似生产环境的副本,以进行故障排除、试验、开发和测试。

一致的报告、数据浏览和机器学习建模

为了满足不断变化的数据环境要求,频繁执行 ETL 作业至关重要。 表克隆通过确保数据完整性来支持此目标,同时可在后台进行处理时基于克隆表灵活生成报表。 此外,表克隆支持机器学习模型早期结果的可重现性。 它们还通过启用历史数据探索和分析来促进有价值的见解。

低成本、近乎即时的恢复

如果数据意外丢失或损坏,可以使用现有的表克隆将表恢复到以前的状态。

数据存档

出于审核或符合性目的,可以轻松使用零复制克隆来创建数据的副本,因为它在过去某个特定时间点存在。 某些数据可能需要存档,以便长期保留或遵守法律合规性要求。 在各种历史点克隆表可确保以原始形式保存数据。

限制

  • 目前不支持跨工作区仓库的表克隆。
  • 目前不支持跨工作区的表克隆。
  • Lakehouse 的 SQL 分析终结点不支持克隆表。
  • 目前不支持克隆仓库或架构。
  • 无法创建在 30 天保留期之前提交的表克隆。
  • 对表架构的更改可防止在更改表架构之前创建克隆。

下一步