SnowPro Associate: Platform Question 337
Single answer4.1 Outline continuous data protection with Snowflake.A data engineer accidentally runs a DELETE statement without a WHERE clause on a production Snowflake table at 2:00 PM, removing all rows. The team notices the issue at 2:20 PM and needs to restore the table to its state just before the DELETE, with minimal administrative effort and no dependency on external backups. Which Snowflake feature should be used?
- A
Use Time Travel to restore the table to a point before 2:00 PM
- B
Fail over to a replica database in another region
- C
Use the result cache to recover the deleted rows
- D
Use data unloading from an internal stage to recreate the table
Show answer and explanation
Correct answer: A
Explanation
The best answer is Time Travel. Snowflake continuous data protection includes Time Travel and Fail-safe. Time Travel supports accessing historical data and recovering from accidental changes such as unwanted UPDATE, DELETE, or DROP operations within the configured data retention period. This makes it the primary feature for correcting recent user mistakes. Fail-safe exists for disaster recovery purposes but is not intended for self-service operational restores. Replication/failover supports broader business continuity objectives, while caches are performance features rather than data recovery tools. Refer to Snowflake documentation on Time Travel and Fail-safe for details on retention periods, object recovery, and continuous data protection behavior.
- A. Correct.
Correct. Time Travel is part of Snowflake's continuous data protection and allows data objects such as tables to be queried or restored to an earlier point in time, provided the data is still within the retention period. In this scenario, the DELETE occurred only 20 minutes earlier, so restoring the table using Time Travel is the most direct and appropriate solution.
- B. Incorrect.
Incorrect. Database replication and failover groups are designed for business continuity and disaster recovery across accounts/regions, not for routine recovery from a recent user error in the same environment. Failing over would be excessive and may not even address the specific recovery need as efficiently as Time Travel.
- C. Incorrect.
Incorrect. The result cache stores query results temporarily to improve performance, but it is not a recovery mechanism for deleted table data. Cached results cannot be relied on to reconstruct a production table after a destructive DML operation.
- D. Incorrect.
Incorrect. Unloading data to an internal or external stage can be part of a backup-like workflow, but the scenario specifically asks for minimal administrative effort and no dependency on external backups. Also, unless data had already been unloaded before the DELETE, this would not help recover the lost rows.