Week 7 Recap
Week 7 covered Domain 5: Time Travel, Fail-safe, cloning, replication and failover, sharing, and the Marketplace. Today is a 30-minute closed-book drill, the recurring Domain 5 traps, and the Week 7 Practice Test.
| Step | Time | What you do |
|---|---|---|
| 1. Closed-book drill | 30 min | Run the four drill tasks below. No tabs open. Write the SQL first, run it after. |
| 2. Self-grade | 5 min | Open Snowsight, run your SQL, score yourself honestly. |
| 3. Read the gotchas | 10 min | Speed-read the patterns below. These are the recurring Domain 5 traps. |
| 4. Take the Week 7 Practice Test | 15 min | 10 mixed questions. Target 8/10. Below that, re-read the day your wrong answers flag. |
The 30-Minute Drill
Drop and recover a table from memory. Create a small table, drop it, then bring it back with a single command.
-- Write this from memory, then run to verify:
CREATE OR REPLACE TABLE w7_recap_tbl (id INT, name STRING);
INSERT INTO w7_recap_tbl VALUES (1,'Alice'), (2,'Bob');
DROP TABLE w7_recap_tbl;
UNDROP TABLE w7_recap_tbl; -- recovers within Time Travel
SELECT * FROM w7_recap_tbl; -- both rows returnClone a table and prove privileges did not clone. Grant a privilege on the source, clone it, then inspect the clone’s grants.
USE ROLE ACCOUNTADMIN;
CREATE OR REPLACE ROLE w7_reader_role;
GRANT SELECT ON TABLE w7_recap_tbl TO ROLE w7_reader_role;
CREATE TABLE w7_clone CLONE w7_recap_tbl; -- zero-copy, instant
SHOW GRANTS ON TABLE w7_recap_tbl; -- shows the SELECT grant
SHOW GRANTS ON TABLE w7_clone; -- EMPTY: no grant carried overBuild a share and grant a database to it. Create a throwaway database, wrap it in a share, then confirm the grant.
USE ROLE ACCOUNTADMIN;
CREATE OR REPLACE DATABASE w7_share_db;
CREATE OR REPLACE SCHEMA w7_share_db.public;
CREATE OR REPLACE SHARE w7_lab_share;
GRANT USAGE ON DATABASE w7_share_db TO SHARE w7_lab_share;
GRANT USAGE ON SCHEMA w7_share_db.public TO SHARE w7_lab_share;
SHOW GRANTS TO SHARE w7_lab_share; -- the database usage grantBrowse the Marketplace and name the listing types. Open Snowsight, then answer from memory before you look.
Snowsight path: Data Products > Marketplace
Listing types (name all three):
1) Private - offered to specific named consumer accounts
2) Public - discoverable by anyone on the Marketplace
3) Personalized - consumer requests a tailored dataset from provider
Marketplace data is: LIVE, READ-ONLY, queried in place (no copy)Cleanup. Drop the throwaway objects. Leave shared reference tables and the lab warehouse alone.
DROP TABLE IF EXISTS w7_clone;
DROP TABLE IF EXISTS w7_recap_tbl;
DROP SHARE IF EXISTS w7_lab_share;
DROP DATABASE IF EXISTS w7_share_db;
DROP ROLE IF EXISTS w7_reader_role;Domain 5 Exam Gotchas
These are the boundary calls the exam reuses in scenario form. Each has a Tell, the phrase the question uses to bait the trap. Learn the Tells and you catch the trap before you read the options.
Gotcha 1: Time Travel is yours; Fail-safe is not
You query Time Travel yourself with AT, BEFORE, and UNDROP. Fail-safe holds data for 7 more days after retention ends. Only Snowflake Support can recover it. Tell: “the team needs to recover the data themselves” points to Time Travel, never Fail-safe.
Gotcha 2: Fail-safe covers permanent tables only
Fail-safe is a fixed 7-day window on permanent tables. Transient and temporary tables have no Fail-safe at all. Tell: any option pairing a transient or temporary table with Fail-safe recovery.
Gotcha 3: 90-day Time Travel needs Enterprise
Standard Edition caps retention at 1 day. Enterprise Edition and higher allow up to 90 days for permanent objects. Tell: “90-day Time Travel on Standard Edition” is always the wrong answer.
Gotcha 4: Transient objects cap at 1 day on every edition
Transient and temporary objects allow only 0 or 1 day of Time Travel. Enterprise does not lift that for them. Tell: “a transient table with 90-day retention.”
Gotcha 5: Cloning a table copies no privileges
A fresh table clone has empty grants. Cloning copies structure and data, then you re-grant access. Tell: “the clone kept the source table’s grants.”
Gotcha 6: Container grants differ from child grants on a clone
Cloning a database or schema carries the grants on child objects. It does not carry the grants on the container itself. Tell: a multi-select claiming the clone “inherits all privileges” including the database.
Gotcha 7: Zero-copy cloning adds no storage at creation
A clone points at the same micro-partitions and costs nothing extra to create. Storage grows only as the clone or source changes rows. Tell: “cloning immediately doubles storage.”
Gotcha 8: A clone is writable and independent
Edits to the source do not appear in the clone. Edits to the clone do not appear in the source. Tell: “changing the clone also changes the original.”
Gotcha 9: External tables and account objects do not clone
Users, roles, warehouses, and resource monitors are account-level, so they never clone. External tables are skipped in a database or schema clone. Tell: “clone the warehouse” or “clone the role.”
Gotcha 10: Secure Data Sharing copies no data
A share is metadata that points a consumer at live rows. The consumer runs queries on their own warehouse. Tell: “the provider’s data is copied into the consumer account.”
Gotcha 11: Cross-database sharing needs secure views
A provider shares data across databases through a secure view. A standard view is not shareable. Tell: “shared a regular view across two databases.”
Gotcha 12: A reader account bills compute to the provider
The consumer runs queries in the reader account, but the provider pays every credit. Providers cap it with a resource monitor. Tell: “the non-Snowflake consumer pays for their own compute.”
Gotcha 13: Database replication runs anywhere; failover needs Business Critical
Database and share replication work on any edition. Account-object replication, failover and failback, and Client Redirect require Business Critical or higher. Tell: “a failover group on Standard Edition.”
Gotcha 14: Marketplace data is live and read-only
You query a listing in place with no ETL and no copy. The provider updates it and you see the latest rows. Tell: “load the Marketplace dataset into your own tables first.”
Gotcha 15: SYSTEM$IS_LISTING_PURCHASED gates paid data
You place this function inside a secure view to show full data only to paying consumers. It returns FALSE for a trial consumer. Tell: any “paying customers only” data-visibility scenario.
Gotcha 16: A clean room returns results, not raw rows
Two parties analyze combined data and receive approved aggregates. Neither side reads the other’s raw rows. Tell: “each party can read the other’s raw data.”
Gotcha 17: UNDROP fails if a same-name object exists
UNDROP restores the most recent dropped version of an object. It returns an error when an object of that name already exists. You rename the current object first, then restore. Tell: “recreating the table with the same name brought the dropped rows back.”
Gotcha 18: AT is inclusive; BEFORE is exclusive
AT includes the change at the exact point you name. BEFORE stops just short of it. To exclude a bad statement, query BEFORE that statement. Tell: “used AT the bad statement to skip its effect.”
Gotcha 19: Streams cannot be shared directly
A provider cannot add a stream to a share. Consumers build their own streams on the shared tables and secure views. Tell: “the provider shared a stream with the consumer.”
Gotcha 20: A recreated object is new to the share
Recreating an object in a shared database makes it a new object. The consumer loses access until you grant it to the share again. Tell: “the recreated table stayed visible to the consumer automatically.”
Gotcha 21: Direct sharing is same-region only
Direct Secure Data Sharing works only inside one region. To reach a consumer in another region, use a listing with auto-fulfillment or replication. Tell: “direct-shared a database to an account in a different region.”
Gotcha 22: A database built from a share cannot be replicated
You cannot replicate a database that a consumer created from a share. Replicate the provider’s source database instead. Tell: “replicated the shared database from the consumer side.”
Week 7 Readiness Checklist
| If you can confidently… | You’re solid on | Otherwise re-skim |
|---|---|---|
| State who accesses Time Travel versus Fail-safe | Day 44 | Day 44: Time Travel and Fail-safe |
| Give the retention limits per edition and per table type | Day 44 | Day 44: retention limits |
| Explain why a table clone starts with no grants | Day 44 | Day 44: zero-copy cloning |
| Name what does and does not clone | Day 44 | Day 44: cloneable objects |
| Say why sharing moves no data and who pays compute | Day 45 | Day 45: Secure Data Sharing |
| Match failover and Client Redirect to Business Critical | Day 45 | Day 45: replication and failover |
| Explain reader-account compute billing | Day 45 | Day 45: reader accounts |
| Name the three listing types and the paid-data function | Day 46 | Day 46: Marketplace and listings |
| Describe what a data clean room protects | Day 46 | Day 46: data clean rooms |
Domain 5 is about 10% of the exam, so treat it as easy points on clear boundaries. The two distinctions worth over-preparing are Time Travel versus Fail-safe and what a clone does or does not copy. Read every option fully. On MINIMUM edition questions, start at Standard and climb only when a feature forces it: failover forces Business Critical, but database replication does not. On multi-select, the stem states the exact count. Partial credit is rare on the COF-C03, so both picks must be right.
You’ve covered: Time Travel and Fail-safe with their retention limits, plus zero-copy cloning and its privilege rules. You also covered replication and failover, Secure Data Sharing with reader accounts, and the Marketplace with listings, Native Apps, and data clean rooms. A Native App ships code plus data that a consumer installs in their own account. Resharing stays off until a provider enables it. It flows through listings only.
Take the Week 7 Practice Test (10 questions, Domain 5 focus). Target 8/10. If you score 6 or below, re-read the days your wrong answers flag before the mock exam.
Tomorrow (Day 48): Mock Exam #1, full length. You sit 100 questions under a 115-minute timer with no notes and no Snowsight. Score it, tag every wrong answer with its domain, and rank your weakest two domains. Aim for 70% or higher. Below 60%, re-read the weak-domain days before the second mock.
