Snowflake
Time Travel & Fail-safe: Data Recovery Windows
Recover historical or accidentally-modified data using Snowflake's built-in versioning.
Time Travel lets you query, clone, or restore data as it existed at any point within a configurable retention window — up to 1 day for Standard edition and up to 90 days for Enterprise edition and above. This is possible because micro-partitions are immutable; updates and deletes simply create new partitions while retaining old ones until they age out.
Time Travel is like a document's full undo/version history you can jump back into yourself; Fail-safe is the IT department's tape backup you can only request through a support ticket.
Key Concepts
1
You can access historical data using AT or BEFORE clauses with a timestamp, offset, or QUERY_ID, or restore a dropped table with UNDROP TABLE. This turns what would be a disaster-recovery incident (accidentally truncated table, bad UPDATE) into a simple SQL query.
ATBEFOREQUERY_IDUNDROP TABLE
2
Fail-safe is a separate, non-configurable 7-day period that begins immediately after the Time Travel retention period ends. Unlike Time Travel, Fail-safe data is not accessible via SQL — recovery requires contacting Snowflake support, and it exists purely as a last-resort disaster recovery mechanism, not a user-facing feature.
not accessible via SQLFail-safe
3
Both mechanisms consume storage (billed as "Time Travel storage" and "Fail-safe storage"), so retention periods should be set thoughtfully — a 90-day Time Travel window on a rapidly-changing multi-terabyte table can meaningfully increase storage costs.