What if you could undo data mistakes as easily as hitting Ctrl+Z?
Why Time Travel retention periods in Snowflake? - Purpose & Use Cases
Imagine you accidentally delete important data from your database and realize it hours later. You try to restore it manually by digging through backups or logs, but it's confusing and slow.
Manual recovery takes a lot of time and effort. Backups might be outdated or incomplete. You risk losing data forever or making mistakes that cause more problems.
Time Travel retention periods let you easily go back to a previous state of your data within a set time. It automatically keeps snapshots so you can quickly restore or query past data without complex steps.
Restore from backup file dated 3 days ago; manually find and apply changes.
SELECT * FROM table AT (OFFSET => -3600); -- data from 1 hour ago
You can confidently fix mistakes or audit changes by simply querying or restoring data from the past within your retention window.
A finance team accidentally deletes a transaction record. Using Time Travel, they retrieve the exact data from two hours ago instantly, avoiding costly errors.
Manual data recovery is slow and risky.
Time Travel retention periods keep automatic snapshots for easy rollback.
This saves time and protects your data from accidental loss.
Practice
Solution
Step 1: Understand Time Travel feature
Time Travel allows you to see and restore past versions of your data.Step 2: Identify what retention period controls
The retention period sets how many days you can access these past versions.Final Answer:
How long you can access previous versions of data -> Option AQuick Check:
Retention period = access duration for past data [OK]
- Confusing retention with storage duration
- Thinking it controls query speed
- Assuming it limits user access
sales_data?Solution
Step 1: Recall correct syntax for setting retention
The correct command uses ALTER TABLE with SET DATA_RETENTION_TIME_IN_DAYS.Step 2: Match syntax with options
ALTER TABLE sales_data SET DATA_RETENTION_TIME_IN_DAYS = 7; matches the exact syntax; others use incorrect keywords or commands.Final Answer:
ALTER TABLE sales_data SET DATA_RETENTION_TIME_IN_DAYS = 7; -> Option BQuick Check:
Use ALTER TABLE ... SET DATA_RETENTION_TIME_IN_DAYS [OK]
- Using UPDATE instead of ALTER TABLE
- Wrong keyword like RETENTION_DAYS
- Missing SET keyword
Solution
Step 1: Understand retention period limit
Retention period limits how far back you can access data versions.Step 2: Apply to 5 days query with 3 days retention
Since 5 days is beyond 3 days retention, data is unavailable and causes an error.Final Answer:
You get an error because data older than 3 days is not available -> Option AQuick Check:
Query beyond retention period = error [OK]
- Assuming data is always available
- Thinking query returns empty instead of error
- Believing retention auto-extends
Solution
Step 1: Know Snowflake retention limits
Snowflake limits Time Travel retention to a maximum (usually 1 to 90 days depending on edition).Step 2: Check if 100 days exceeds limit
100 days is beyond typical max, causing an error.Final Answer:
Retention period exceeds the maximum allowed limit -> Option DQuick Check:
Retention > max limit causes error [OK]
- Assuming syntax error without checking limits
- Thinking table lacks Time Travel support
- Believing service restart fixes retention errors
Solution
Step 1: Understand retention vs storage cost
Longer retention means more storage cost; shorter retention saves cost but limits recovery.Step 2: Evaluate options for 14-day retention and cost balance
Setting retention to 14 days meets recovery needs; purging old data helps control storage.Final Answer:
Set DATA_RETENTION_TIME_IN_DAYS to 14 and regularly purge old data -> Option CQuick Check:
Retention matches need + purge controls cost [OK]
- Setting retention too low losing data
- Setting retention too high increasing cost
- Disabling Time Travel losing recovery benefits
Ready to prove it?
Pass the test and this pattern moves unknown
