📖 Scenario: You are managing a Snowflake data warehouse. Sometimes, tables or other database objects get dropped by mistake. Snowflake allows you to recover these dropped objects using the UNDROP command within a certain time window.In this project, you will practice how to undrop a dropped table to recover your data.
🎯 Goal: Build a Snowflake script that creates a table, drops it, and then recovers it using the UNDROP command.
📋 What You'll Learn
Create a table named employees with columns id (integer) and name (string).
Drop the employees table.
Use the UNDROP TABLE employees command to recover the dropped table.
💡 Why This Matters
🌍 Real World
In real data warehouse management, accidental drops happen. Knowing how to recover dropped objects quickly prevents data loss and downtime.
💼 Career
Cloud data engineers and database administrators often need to recover dropped objects to maintain data integrity and availability.
Progress0 / 4 steps
1
Create the employees table
Write a SQL statement to create a table called employees with two columns: id as INTEGER and name as STRING.
Snowflake
Hint
Use CREATE TABLE employees (id INTEGER, name STRING); to create the table.
2
Drop the employees table
Write a SQL statement to drop the table named employees.
Snowflake
Hint
Use DROP TABLE employees; to remove the table.
3
Recover the dropped employees table
Write a SQL statement to recover the dropped table employees using the UNDROP command.
Snowflake
Hint
Use UNDROP TABLE employees; to recover the dropped table.
4
Verify the recovery of the employees table
Write a SQL statement to show the structure of the employees table to confirm it has been recovered.
Snowflake
Hint
Use DESCRIBE TABLE employees; to check the table structure.
Practice
(1/5)
1. What is the primary purpose of the UNDROP command in Snowflake?
easy
A. To recover a dropped table, view, or schema within the retention period
B. To permanently delete a table or schema from Snowflake
C. To create a new table with the same structure as an existing one
D. To rename an existing table or schema
Solution
Step 1: Understand the function of UNDROP
The UNDROP command is designed to restore objects that were accidentally dropped, such as tables, views, or schemas.
Step 2: Identify the correct use case
Since UNDROP recovers dropped objects within the retention period, it is not used for deletion, creation, or renaming.
Final Answer:
To recover a dropped table, view, or schema within the retention period -> Option A
Quick Check:
UNDROP = Recover dropped objects [OK]
Hint: UNDROP means undo drop to restore deleted objects [OK]
Common Mistakes:
Confusing UNDROP with DELETE or DROP commands
Thinking UNDROP creates new objects
Assuming UNDROP renames objects
2. Which of the following is the correct syntax to undrop a table named sales_data in Snowflake?
easy
A. UNDROP TABLE sales_data;
B. RECOVER TABLE sales_data;
C. UNDROP TABLE IF EXISTS sales_data;
D. RESTORE TABLE sales_data;
Solution
Step 1: Recall the correct UNDROP syntax
The correct syntax to recover a dropped table is UNDROP TABLE <table_name>;
Step 2: Eliminate incorrect options
Adding IF EXISTS is invalid with UNDROP. RECOVER and RESTORE are not supported commands for recovering dropped tables in Snowflake.
Final Answer:
UNDROP TABLE sales_data; -> Option A
Quick Check:
UNDROP TABLE = correct syntax [OK]
Hint: Use UNDROP TABLE followed by the table name [OK]
Common Mistakes:
Using RECOVER or RESTORE instead of UNDROP
Adding IF EXISTS which is invalid with UNDROP
Missing the TABLE keyword
3. Consider the following sequence of commands in Snowflake:
DROP TABLE IF EXISTS customers;
UNDROP TABLE customers;
What will be the result of the UNDROP TABLE customers; command assuming the drop happened within the retention period?
medium
A. An error will occur because the table does not exist
B. The command will be ignored silently
C. The table will be restored but without any data
D. The table 'customers' will be restored with its data intact
Solution
Step 1: Understand the effect of DROP and UNDROP
The DROP TABLE command deletes the table but keeps it recoverable within the retention period. UNDROP restores the dropped table with its data.
Step 2: Confirm retention period and command behavior
Since the drop is recent and within retention, UNDROP will successfully restore the table and its data.
Final Answer:
The table 'customers' will be restored with its data intact -> Option D
Quick Check:
UNDROP restores dropped table and data [OK]
Hint: UNDROP restores table and data if within retention [OK]
Common Mistakes:
Assuming UNDROP only restores structure, not data
Thinking UNDROP fails if table was dropped
Believing UNDROP silently ignores missing tables
4. You tried to undrop a dropped schema using UNDROP SCHEMA sales_schema; but received an error. Which of the following is the most likely cause?
medium
A. You used the wrong command; UNDROP does not support schemas
B. The schema was dropped outside the retention period
C. The schema name is case-sensitive and was typed incorrectly
D. You need to run UNDROP with the database name specified
Solution
Step 1: Check retention period requirement
UNDROP only works if the object was dropped within the retention period. If dropped too long ago, recovery fails.
Step 2: Verify command support and syntax
UNDROP supports schemas, and schema names are case-insensitive by default. Database name is not required if context is set.
Final Answer:
The schema was dropped outside the retention period -> Option B
Quick Check:
Retention period exceeded causes UNDROP error [OK]
Hint: Check retention period before undropping schemas [OK]
Common Mistakes:
Assuming UNDROP can't recover schemas
Ignoring retention period limits
Mistyping schema name without checking case sensitivity
5. You accidentally dropped a table orders in your production database. You want to recover it using UNDROP, but you also want to ensure no data loss and minimal downtime. Which of the following steps is the best approach?
hard
A. Wait for the retention period to expire and then restore from a full database backup
B. Recreate the table manually and import data from backups
C. Immediately run UNDROP TABLE orders; within the retention period and verify data integrity
D. Use UNDROP TABLE orders; only after recreating the table structure
Solution
Step 1: Use UNDROP immediately after accidental drop
UNDROP recovers the dropped table with data if done within the retention period, minimizing downtime and data loss.
Step 2: Avoid manual recreation or waiting unnecessarily
Manual recreation or waiting for backup restore increases downtime and risks data loss.
Final Answer:
Immediately run UNDROP TABLE orders; within the retention period and verify data integrity -> Option C
Quick Check:
UNDROP quickly recovers dropped tables with data [OK]
Hint: Run UNDROP immediately after drop to avoid data loss [OK]
Common Mistakes:
Delaying UNDROP beyond retention period
Recreating table manually before undropping
Ignoring data verification after recovery
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.