Snowflake Data Recovery Explained ❄️ Time Travel, Fail-safe & Restore
Snowflake Data Recovery Explained ❄️ Time Travel, Fail-safe & Restore
Published: None
Snowflake Data Recovery Explained ❄️ Time Travel, Fail-safe & Restore
⏳ Time Travel, Fail-safe & Data Recovery in Snowflake — Explained Deeply ❄️
Snowflake doesn’t update data in place. Every change creates new micro-partitions, and recovery depends entirely on Time Travel & Fail-safe configuration.
🧠 Time Travel (User-Controlled Recovery)
Time Travel allows you to:
- Query historical data
- Restore dropped objects
- Clone tables at a past point in time
🔍 Query past data
SELECT *
FROM orders
AT (TIMESTAMP => '2026-01-30 10:00:00');
or
SELECT *
FROM orders
BEFORE (STATEMENT => '01b3c9a7-0000-1234');
♻️ Restore a dropped table (most common use case)
UNDROP TABLE orders;
Works only if:
- Table is within Time Travel retention
- Object type supports Time Travel
🧬 Clone from a previous state
CREATE TABLE orders_restore
CLONE orders
AT (TIMESTAMP => '2026-01-30 10:00:00');
✅ Zero-copy ✅ Instant ✅ No extra compute
🛟 Fail-safe (Snowflake-Controlled Recovery)
Fail-safe is the last safety net:
- 7 days
- Not queryable
- Only Snowflake Support can restore
- Available only for Permanent tables
🚫 No SQL commands here 👉 You must raise a Snowflake support ticket
📊 Table Types — Recovery Behavior (Snowflake Standpoint)
Permanent Tables
- Time Travel + Fail-safe
- SQL restore supported
- Best for production & compliance data
UNDROP TABLE prod_orders;
Transient Tables
- Time Travel only (0–1 day)
- ❌ No Fail-safe
- After retention → data permanently lost
UNDROP TABLE stage_orders; -- works only within Time Travel window
Temporary Tables
- Session-based
- Auto-dropped at session end
- Retention = 24 hours OR session end (whichever is earlier)
⚠️ Once session ends → restore not possible
⏳ Important Internal Behavior
- Long-running Time Travel queries delay physical purge
- Applies to temporary & transient tables
- Prevents broken reads during recovery
⚠️ Cost vs Safety (Critical Insight)
Fail-safe storage costs money. That’s why Snowflake gives you Transient tables.
But remember:
Once Time Travel expires on a transient table, data is gone forever — even Snowflake can’t recover it.
Snowflake gives you multiple recovery layers, but you must design intentionally.
REfer-https://docs.snowflake.com/en/user-guide/data-time-travel
Comments
Post a Comment