Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You can use the Delta Lake CLONE command in Microsoft Fabric to create a copy of a Delta table at a specific point in time. A clone captures the source table as it exists when you run the command, or at an earlier version that you specify with time travel syntax.
Cloning is useful when you want a safe copy of a table for development, validation, or experimentation. The source table isn't modified, and changes that you make to the clone don't affect the source table.
What clone does
A clone creates a target Delta table from a source Delta table snapshot. You can:
- Clone the latest version of the source table
- Clone a specific table version by using
VERSION AS OF - Clone a specific point in time by using
TIMESTAMP AS OF
Because the clone is based on a snapshot, it doesn't track later changes in the source table automatically.
Shallow clone
A shallow clone creates a new Delta table that references the source table's existing data files. Delta Lake copies the table metadata at clone time, but it doesn't copy the underlying data files into new storage.
Use a shallow clone when you need a fast, storage-efficient copy for short-lived work:
- Create a sandbox for development
- Test schema or transformation changes without risk
- Run experiments against production-like data
- Create temporary copies for troubleshooting
- Create point-in-time snapshots for validation
A shallow clone is storage-efficient because the source and clone share the same OneLake data files. After the clone exists, updates that you make to the clone create new files for the clone and don't change the source table.
Note
Only SHALLOW CLONE is supported in open-source Delta Lake and Microsoft Fabric. DEEP CLONE is not available.
Syntax
Use the following syntax patterns to create Delta table clones.
Clone the current version
Clone a specific version
Clone from a point in time
CREATE TABLE target_table SHALLOW CLONE source_table TIMESTAMP AS OF '2026-05-18T08:30:00Z';
Replace an existing clone
Use CREATE OR REPLACE TABLE to refresh a clone target with a newer snapshot:
CREATE OR REPLACE TABLE sandbox.sales_orders_test
SHALLOW CLONE operations.sales_orders;
Understand what gets cloned
| Component | Behavior |
|---|---|
| Data files | Referenced from the source table's OneLake files (not copied). |
| Partition information | Copied. |
| Schema | Copied. |
| Table properties | Copied. |
| Dependency on source after clone | Yes — the clone depends on the source's data files remaining available. |
| Source Delta log history | Not copied to the target table history. The clone starts its own Delta log. |
Use clone for common scenarios
Use Delta table clone when you need to:
- Create sandbox environments for development
- Test schema changes without risk to the source table
- Validate transformations against a production snapshot
- Create a point-in-time copy for debugging or auditing
- Provide a read-only snapshot for a downstream team
OneLake considerations
Shallow clones share underlying OneLake files with the source table. This design makes shallow clone fast and storage-efficient, but it also means the clone depends on source table files remaining available.
Be careful when you run VACUUM on the source table. If VACUUM removes source files that a shallow clone still references, the clone can break because those files are no longer available in OneLake.
To create a durable independent copy that survives VACUUM on the source, consider copying data with a full write (CREATE TABLE ... AS SELECT) instead of clone.