SnowPro Core — Study Guide & Practice

Original practice items only. Align with Snowflake’s published exam guide and docs—not brain dumps.

Official resources — click to expand documentation links

Numbers & limits to memorize

Figures below are taken from Snowflake documentation topics linked in Official resources and the edition matrix. Snowflake changes limits and editions over time—re-verify before your exam. “✔” in edition tables means the feature is included per intro-editions.

Encryption & transport

Value / ruleWhat to remember
AES-256 (platform)All customer data at rest is encrypted with Snowflake-managed keys; trust/compliance collateral often states AES-256 for at-rest layers—confirm wording in Encryption key management and End-to-end encryption.
AES-128 / 256 client-side stage keysClient-side encryption on external stages: MASTER_KEY must be a 128-bit or 256-bit AES key (Base64-encoded) per Encryption overview.
TLS in transitClients ↔ Snowflake use TLS for all supported connectors/drivers (not a numeric limit, but often paired with encryption questions).
30 daysSnowflake-managed key hierarchy: account master keys and table master keys (and other keys in that hierarchy) are automatically rotated when more than 30 days old—active keys retire, new keys encrypt new data; retired keys decrypt old data until destroyed. Encryption key management (“Encryption key rotation”). Do not confuse with optional periodic data rekeying (retired key > ~1 year, Enterprise)—different lifecycle step.

Time Travel & Fail-safe

ValueSource / meaning
1 day (24 hours)Default Time Travel retention for all accounts; Standard can set DATA_RETENTION_TIME_IN_DAYS to 0 or default 1. Time Travel.
0–90 daysEnterprise+: permanent databases/schemas/tables can set TT up to 90 days (extra storage cost). Same doc.
7 daysFail-safe is a non-configurable recovery window that starts after Time Travel ends; Snowflake docs describe 7 days for this Fail-safe period. Not for user SELECT. Fail-safe.
Long TT queriesA long-running Time Travel query delays moving data into Fail-safe until it completes (both TT and Fail-safe docs).

Result cache & persisted results

ValueWhat to remember
24 hoursPersisted query results (retrieval optimization cache) expire after 24 hours from last criteria—see Using persisted query results.
31 days ceilingEach successful reuse of the same cached result can extend retention up to a maximum of 31 days from when the query was first executed—then the result is purged.
6 hours tokenFor persisted results > 100 KB, the access token expires after 6 hours (new token while still in cache). Smaller results skip the token pattern.
Spark connectorSpark connector token exception: 24 hours regardless of result size (same persisted-results topic).

Semi-structured & row size

LimitCurrent documentation
128 MB (uncompressed)A single VARIANT (and OBJECT / theoretical ARRAY payload) can be up to 128 MB of uncompressed data; practical maximum is slightly lower due to overhead. Semi-structured types.
16 MB (row vs VARIANT)Do not confuse VARIANT element size with whole-row width: Snowflake enforces a maximum compressed row size per table row (commonly cited around 16 MB in limit summaries—confirm the current CREATE TABLE / general constraints topic in the SQL reference for the exact byte cap).

Credits & warehouses

ValueMeaning
10%Cloud services credits are charged only if daily cloud-services usage exceeds 10% of that day’s virtual warehouse credit usage; otherwise the daily cloud-services portion in that band is covered. Credits / Compute cost.
60 secondsWarehouse billing uses a minimum 60 seconds per resume/provisioning episode (per-second metering with one-minute floor)—see warehouse / compute pricing documentation.
60 (auto-suspend)New warehouses often default AUTO_SUSPEND to 60 seconds—always confirm in UI or SHOW PARAMETERS for your account.

Snowpipe & metadata windows

WindowUse case
~14 daysPIPE_USAGE_HISTORY via Information Schema — short rolling history (commonly 14 days in exam context). Contrast with ACCOUNT_USAGE (≈365 days).

Other high-yield limits (verify SQL reference)

Edition feature matrix (from Snowflake documentation)

Transcribed from Snowflake editions (feature tables). S = Standard, E = Enterprise, BC = Business Critical, VPS = Virtual Private Snowflake. Empty = not listed for that edition in the source table. For the narrative list of “notable features” (not every feature), see Overview of key features. Edition also affects credit and storage unit pricing.

Edition tiers (summary)

EditionPositioning (docs)
StandardIntroductory offering; full standard Snowflake features; balance of features, support, and cost.
EnterpriseEverything in Standard plus enterprise-scale features (extended TT, multi-cluster WH, MVs, masking/RAP, etc.).
Business CriticalEverything in Enterprise plus highest data-protection tier (e.g. HIPAA/HITRUST positioning), Tri-Secret Secure, private connectivity patterns, account failover/failback.
VPSHighest isolation: separate Snowflake environment; hardware not shared with non-VPS accounts; includes BC-level features.

Release management

FeatureSEBCVPS
24-hour early access to weekly new releases (pre-prod validation)

Security, governance, data protection

FeatureSEBCVPS
SOC 2 Type II
Federated authentication & SSO
OAuth
Network policies (IP allow/deny for users)
Automatic encryption of all data
MFA support
Object-level access control (RBAC)
Standard Time Travel (up to 1 day)
Object tags (some advanced tagging features E+)
Fail-safe (7-day DR after TT)
Generating synthetic data
Extended Time Travel (up to 90 days)
Periodic rekeying of encrypted data
Column-level security (masking policies)
Row-level security (row access policies)
Aggregation policies
Projection policies
Differential privacy
Classification (sensitive data discovery)
ACCESS_HISTORY (Account Usage)
Associate event table with objects (logging/tracing)
Tri-Secret Secure (customer-managed keys)
Private connectivity to Snowflake service
Private connectivity to internal stages
Pinning private connectivity endpoints (inbound)
Private connectivity (Open Catalog inbound / outbound)
Private connectivity outbound to external stages / external volumes (Iceberg)
Private connectivity to KMS (Tri-Secret)
PrivateLink / Private Service Connect to Snowflake service & internal stages
Cross-region connectivity for AWS PrivateLink (where listed)
PHI / HIPAA & HITRUST (requires BAA)
PCI DSS support
FedRAMP / ITAR / public-sector style workloads (region-dependent)
IRAP Protected (selected APAC regions)
Dedicated metadata store & dedicated compute pool (VPS isolation)
Data quality & data metric functions

Compute resource management

FeatureSEBCVPS
Virtual warehouses
Resource monitors
Multi-cluster warehouses

SQL support (selected rows)

FeatureSEBCVPS
Standard SQL; advanced DML (MERGE, multi-table insert, …)
Semi-structured, geospatial, unstructured, collation, informational constraints, transactions
UDFs (Java, JavaScript, Python, SQL) & external access; external functions
Amazon API Gateway private endpoints for external functions
Stored procedures (Java, JavaScript, Python, Scala, SQL / Snowflake Scripting)
Dynamic tables
External / Iceberg / hybrid tables; clustering; schema detection & evolution
Query acceleration service
Search optimization service
Snowflake Optima
Materialized views

Interfaces, load/export, pipelines

FeatureSEBCVPS
Snowsight, Snowflake CLI, SnowSQL, SnowCD, drivers/connectors, SQL API, ecosystem, Partner Connect, Snowpark, Streamlit in Snowflake
Bulk load/unload; Snowpipe; Snowpipe Streaming; Kafka connector
Streams & Tasks

Replication, failover, sharing

FeatureSEBCVPS
Database & share replication across accounts (org)
Failover & failback between accounts (BC+)
Redirecting client connections for DR (BC+)
Snowflake Marketplace
Universal Search
Build / monetize listings & public listings (as in docs)
Private listings
VPS-only private collaboration (per docs row)
Cross-cloud auto-fulfillment (Snowgrid)
Data Clean Rooms — consume
Data Clean Rooms — create & manage
Replicate shared data inside org

AI / ML (Cortex, etc.)

FeatureSEBCVPS
Cortex AI functions, Copilot, Cortex Analyst, fine-tuning, Cortex Search, ML functions, Model Registry, Feature Store (as listed in edition matrix)

Support

FeatureSEBCVPS
Snowflake Community / support portal
Premier support (24×7, 1h Sev-1); Standard accounts after 2020-05-01 per doc footnote

Architecture & platform

ConceptExam-relevant notes
LayersStorage (cloud object store), compute (virtual warehouses), services (metadata, auth, query parsing, orchestration).
Micro-partitionsImmutable compressed columnar chunks; pruning via metadata; not user-defined file boundaries.
CreditsBilling unit for compute and some features; warehouse size and run time drive consumption.
EditionsStandard vs Enterprise+ affects features (e.g., longer Time Travel on higher editions).
CachingResult cache (identical query + role + warehouse window); warehouse local disk cache for micro-partitions; metadata service caches.
Virtual layersDatabase/schema are logical; storage is centralized; compute is separate per warehouse.
Cloud agnosticSame SQL across clouds; account is tied to a region/cloud provider.

Key tools: Snowsight vs SnowSQL

Both ship with Snowflake; they solve different jobs. Official: Snowsight, SnowSQL.

ToolBest forTypical exam angles
Snowsight (browser UI)Worksheets, query history, worksheets sharing, light profiling, account monitoring, worksheets-based administration patterns.“Where would a user run and visualize SQL without installing a CLI?” — interactive SQL + charts + UI workflows.
SnowSQL (command-line)Scripting, automation, PUT/GET to stages, bulk DDL, CI/CD, local execution of SQL files.“Which client supports PUT from a laptop to a stage?” — SnowSQL (and other drivers), not Snowsight alone for file upload patterns.

Virtual warehouses

TopicCheat sheet
SizeXS–6XL+ (names); more servers = more credits/hour and parallelism.
Auto-suspendStops billing for idle compute after configured seconds (commonly 60s default for new warehouses—confirm in your account/docs).
Auto-resumeWarehouse starts on next query that needs it (small resume delay).
ScalingMulti-cluster warehouses for concurrency (Enterprise feature pattern).
IsolationSeparate warehouses for ELT vs BI to avoid contention.
Scaling policySTANDARD vs ECONOMY (when to spin clusters; cost vs latency tradeoff).
Max concurrency levelCaps clusters in multi-cluster WH; prevents runaway scaling.
Statement timeoutSTATEMENT_TIMEOUT_IN_SECONDS at session/account; aborts long queries.
Resource monitorsSuspend or notify when credit thresholds hit (account admin pattern).

Warehouse privileges — USAGE, OPERATE, MODIFY, MONITOR

Warehouses are account-level objects; grants use GRANT … ON WAREHOUSE w … TO ROLE | USER …. Wording follows Access control privileges (warehouse)—confirm exact behavior for your release.

PrivilegeWhat it allows (exam shorthand)
USAGERun queries using the warehouse when it is already in a runnable state—not the right to start/stop/suspend/resume or reconfigure it.
OPERATEChange the warehouse run state: start, stop, suspend, resume (and related state operations per docs).
MODIFYAlter warehouse properties (e.g. size, scaling parameters, timeouts)—not the same privilege as OPERATE; some ALTER WAREHOUSE actions map to one or the other per SQL reference.
MONITORView usage and performance metrics for the warehouse without needing full admin on the object.

Loading & unloading

TopicCheat sheet
File sizing (bulk + Snowpipe)Snowflake recommends staging files around 100–250 MB compressed (or larger) so the warehouse can exploit parallelism without per-file overhead dominating; aggregate tiny files, split only truly huge files (e.g. avoid single 100 GB files without care). See Preparing your data files. Not a goal to keep all files ~25 MB.
Delimited / numeric hygieneFor CSV-style loads: fields with delimiter characters must be quoted; rows should have consistent column counts. For numbers: avoid embedded characters such as commas in numeric fields (e.g. use 123456 not 123,456) unless properly handled—same doc topic.
Dates & timestampsDo not strip temporal columns—use supported input formats and valid values (invalid dates error at load). See Date and time formats in SQL reference.
Semi-structuredKeep VARIANT/JSON etc. when that is your model; Snowflake is built for semi-structured—removing it is not a load “best practice.”
StagesInternal (Snowflake) vs external (S3/GCS/Azure); URL + creds for external.
PUTClient uploads files to user stage / named stage (SnowSQL).
COPY INTOServer-side load from stage into table; requires running warehouse.
File formatsNamed FILE FORMAT (CSV JSON PARQUET AVRO ORC XML); TYPE + options.
ValidationVALIDATION_MODE, ON_ERROR (ABORT_CONTINUE SKIP_FILE etc.), error limits.
UnloadCOPY INTO @stage from query/table; export to cloud files.
Metadata cols$METADATA$FILENAME, $METADATA$FILE_ROW_NUMBER, etc. for staged files (pattern awareness).
SnowpipeServerless or pipe-driven loads; event notifications vs REST ingest; auto-ingest from cloud.
Pipe load historyPIPE_USAGE_HISTORY in Information Schema exposes a short rolling window (commonly 14 days) of pipe activity. ACCOUNT_USAGE.PIPE_USAGE_HISTORY / similar views retain much longer (often ~1 year)—exam questions may test which interface you use. CREATE OR REPLACE PIPE can reset pipe-local metadata—see Managing Snowpipe.
Directory tableStage directory listing as table for discovery/pipelines.

FILE FORMAT — JSON & CSV (named FILE FORMAT options)

Defined in CREATE FILE FORMAT. Values differ by TYPE; below are common SnowPro-level knobs.

Option / areaTYPE = JSONTYPE = CSV
STRIP_OUTER_ARRAYWhen TRUE, removes the outer JSON array wrapper so each element of the array becomes its own row (classic pattern for [{...},{...}] files). When FALSE, the whole document loads as one row per file (unless other layout rules apply).— (JSON only)
STRIP_NULL_VALUESOmit object keys / array slots whose value is JSON null (reduces noise; affects VARIANT materialization).
IGNORE_UTF8_ERRORSReplace invalid UTF-8 sequences instead of erroring (use cautiously).Same idea for text encoding issues where supported.
ALLOW_DUPLICATE_ELEMENT_NAMES / ENABLE_OCTALParser leniency / duplicate keys—know they exist; defaults are usually strict enough for exams.
COMPRESSION, BINARY_FORMATHow input bytes are decoded (AUTO, GZIP, etc.).Compression for delimited files.
FIELD_DELIMITER, RECORD_DELIMITERColumn vs row terminators (comma tab pipe, \n/\r\n, etc.).
FIELD_OPTIONALLY_ENCLOSED_BY, ESCAPEQuotes / escape rules for fields containing delimiters.
SKIP_HEADER, TRIM_SPACE, NULL_IFHeader rows, whitespace trimming, sentinel strings to SQL NULL.
ERROR_ON_COLUMN_COUNT_MISMATCHWhether extra/missing columns vs table abort the load.
VALIDATION_MODE + COPYUsed on COPY INTO (not only CSV): RETURN_n_ROWS / RETURN_ERRORS / RETURN_ALL_ERRORS to validate without committing (or partial commit per mode)—pair with ON_ERROR for production loads.

Semi-structured data

TopicCheat sheet
VARIANTStores JSON-like documents; max compressed size per cell (know docs limits for exam).
FlattenLATERAL FLATTEN(input => v, path => '...') for arrays/objects.
Typing:: VARCHAR, AS <type>, semi-structured path notation x:key[0].
OptimizationMaterialized views / clustering (where applicable); avoid exploding VARIANT in wide joins without pruning.
FunctionsParse / stringify / validate (scalars): PARSE_JSON, TRY_PARSE_JSON, TO_JSON, CHECK_JSON — see mini-table below. Explode to rows: FLATTEN (table function). Build / navigate: ARRAY_CONSTRUCT, OBJECT_CONSTRUCT, GET_PATH, colon/bracket paths.
Typed columnsExtract VARIANT paths to typed columns for clustering/pruning where possible.

PARSE_JSON · TO_JSON · CHECK_JSON vs FLATTEN (exam disambiguation)

Same section, different jobs: scalars that change or check one value vs a table function that multiplies rows. Docs: PARSE_JSON, TO_JSON, CHECK_JSON, FLATTEN.

APIRole in one sentenceReturns / shape
PARSE_JSON / TRY_PARSE_JSONTurn a JSON text string into a nested VARIANT you can query with : / bracket paths. TRY_ returns NULL on bad JSON instead of erroring.Scalar → one VARIANT per input row.
TO_JSONSerialize a VARIANT (or compatible value) to a VARCHAR containing JSON text—export, logging, round-trip out of Snowflake.Scalar → one JSON string per input row.
CHECK_JSONValidate formatting: returns NULL if the expression is valid JSON (or NULL); returns an error message string (e.g. position of bad token) if invalid. Use for QC; use PARSE_JSON when you need the actual VARIANT tree.Scalar → NULL or error-description string.
FLATTENUnnest arrays/objects inside an existing VARIANT into many output rows (one per element at the chosen path). Almost always LATERAL FLATTEN(input => col, path => '…') next to a driving table.Table function → extra rows + KEY, PATH, INDEX, VALUE, …

LATERAL FLATTEN — output columns (semi-structured → relational)

Each row is one exploded element. Names match the FLATTEN table function.

ColumnRole
SEQMonotonic sequence number for rows produced by this FLATTEN invocation (unique within the result).
KEYKey name when exploding an OBJECT (may be NULL for array-only paths).
PATHPath string to the element within the nested structure.
INDEXZero-based index when the parent is an ARRAY (otherwise can be NULL).
VALUEThe value at that path (often still VARIANT-typed until cast).
THISThe “current” enclosing object/array fragment for that row (context for nested FLATTEN).

Time Travel, Fail-safe, zero-copy clone

TopicCheat sheet
Time Travel (tables)For permanent, transient, and temporary tables (and other objects where TT applies), query historical row versions with AT / BEFORE (timestamp, offset, or statement id) within DATA_RETENTION_TIME_IN_DAYS. Same ideas apply to some other table-like objects per docs—always read the stem (external tables differ).
RetentionEdition-dependent max retention on tables (database/schema defaults or per-table); 0 disables TT where allowed.
Fail-safeNon-user-accessible recovery period after Time Travel ends (not for user queries).
What gets Fail-safe?Permanent tables (and similar persisted Snowflake storage) go through TT then Fail-safe. Materialized views persist derived data in Snowflake and are treated like tables for CDP in this sense. Transient and temporary tables do not use Fail-safe. External tables point at files outside Snowflake-managed table storage—do not expect the same Fail-safe story for that external payload. Confirm wording in Fail-safe + Materialized views.
CloneCREATE … CLONE shares storage until changes diverge (metadata pointer model).
TRANSIENTTables: no Fail-safe; shorter retention posture vs permanent (exam tradeoff awareness).
TEMPSession-scoped table; dropped end of session.

Continuous Data Protection (CDP) — “always on” vs configured

Framing from Snowflake CDP documentation. Wording and retention numbers can change—verify before an exam.

FeatureTypical exam angle
Encryption (at rest)Snowflake encrypts customer data at rest by default (including files on internal stages); not something you “opt in” with extra DDL for the baseline platform model.
Master key rotation (managed hierarchy)Account and table master keys (Snowflake-managed hierarchy) rotate automatically when older than 30 days—classic MCQ: pick 30 days, not 90/365. See Encryption key management. Periodic rekeying of data with retired keys (> 1 year) is a separate, optional Enterprise topic.
Fail-safeAdditional Snowflake-managed recovery period after Time Travel expires on eligible permanent tables—not end-user queryable like TT; duration is platform-defined (often discussed as 7 days in training materials where Fail-safe applies—confirm for your edition).
Time TravelPart of the CDP story, but extending retention beyond defaults (or up to edition max) is configuration (e.g., table/database parameters). Default TT exists at allowed levels; longer retention is not “zero config” everywhere.
Network / Tri-Secret SecureAdditional hardening layers exist but are separate from “automatic encryption + Fail-safe” CDP baseline.

Storage vs virtual warehouse vs cloud services / serverless

Snowflake separates where bytes live from who runs the CPUs. Exam questions often want you to pick two or three billing knobs—not everything is “just the warehouse.”

Three meters (memorize)

MeterWhat it isTypical trigger
StorageActive table/stage bytes + Time Travel + Fail-safe where they apply (per TB-day style pricing).Loading data, clones until divergence, MV bodies, internal stages, longer TT retention.
Virtual warehouse (WH)Customer-sized query / load compute you turn on (XS…6XL); credits accrue while clusters run (plus minimum billable seconds on resume—see numbers sheet).SELECT, most DML, COPY INTO while a WH is running, tasks pinned to a WH.
Cloud services (CS)Control-plane work: auth, metadata, query parsing / planning—often compared to WH credits for the 10% daily adjustment rule.Every session uses some CS; large overages when lots of planning/metadata vs little warehouse use that day.
Serverless / feature computeSeparate credit lines for managed features (not “your” named WH)—still not storage.Snowpipe load service, automatic MV maintenance, automatic clustering, serverless tasks (where offered), search optimization build—verify each in current pricing/docs.

Legend for the next table: Y = materially yes, = negligible or “not that meter,” (WH) = when a session runs SQL on a warehouse, (Svr) = serverless / background feature credits, (CS) = cloud-services style usage (may fall inside the daily 10% allowance vs warehouse).

Object / activityStorageWarehouse computeCloud services / serverless
Table (permanent / transient) — row storageY(WH) for queries & DML you runY if clustering keyautomatic reclustering work; else mostly planning (CS).
Materialized viewY (persisted results)(WH) when users SELECT it(Svr) background maintenance / refresh when base data changes—classic “storage + non-WH compute” combo.
View / secure view— (definition only)(WH) when queried(CS) planning; no extra stored rows for the view itself.
SequenceTiny metadata
Internal stage (files)Y(WH) for LIST/COPY / transforms you run
Snowpipe loading into tableY once landed in tableNot the pipe’s server workers(Svr) Snowpipe compute metering (separate from named WH).
Stream (CDC offset)Small(WH) when consumed in downstream DML you run
Task (user-managed)Y on the WH you assign
Task (serverless, where available)(Svr)
Search optimization on a tableY (auxiliary structures)(WH) queries can benefit(Svr) build / maintain index.

External tables: storage of the files stays in your cloud object store (you pay the cloud vendor); Snowflake charges for metadata and query compute (WH) when you scan through Snowflake—read External tables + pricing pages. For “choose two” MCQs (e.g. MV + clustered table), map answers to storage + background serverless/CS work, not only “I ran a SELECT.”

Cloud services credit adjustment (vs warehouse compute)

Rule (concept)How to think about it
10% daily allowanceEach day, a slice of cloud services usage is covered when it stays within 10% of warehouse compute credits used that day—no separate line item for that allowance portion.
Billable cloud servicesIf cloud services credits exceed 10% of the day’s warehouse compute credits, you pay for the overage (cloud services minus the 10% allowance).
Quick mathWarehouse day = 50 credits → allowance = 5 cloud-service credits “free”; 10 cloud-service credits → bill 5 overage. Warehouse day = 200 → allowance 20; 26 cloud-service → bill 6 overage.
SourceSnowflake states cloud services are charged only if daily cloud services usage exceeds 10% of daily warehouse usage—see Understanding compute cost (and parent credits overview).

Security, RBAC & DAC

TopicCheat sheet
RBAC vs DAC (how Snowflake mixes them)RBAC: you grant privileges to roles (most common), then grant roles to users (or other roles); sessions use USE ROLE. Snowflake SQL also supports GRANT … TO USER … for many privileges—same privilege (e.g. MODIFY, SELECT) can be granted to either a role or a user; docs/examples may show either form. DAC-style piece: each object has an owner role; that owner (or admin) controls GRANT/REVOKE on that object. Exams often stress RBAC; know DAC wording maps to ownership + grants, not a separate product.
Roles & grant targetsRole hierarchy: GRANT ROLE child TO ROLE parent; users activate grants via GRANT ROLE r TO USER u. For object privileges use GRANT … ON <object> TO ROLE name or TO USER name per privilege rules in the SQL reference—do not assume “roles only” in stems that show TO USER.
ACCOUNTADMINPowerful account-level role—use sparingly per best practice.
FUTURE grantsGRANT … ON FUTURE TABLES IN SCHEMA …
Secure objectsSECURE VIEW / masking / Row Access Policies (feature awareness for Core).
NetworkNetwork policies restrict login IPs (admin pattern).
AuthenticationKey pair, OAuth, SSO patterns; MFA at Snowflake layer where configured.
OwnershipOWNERSHIP privilege; transfer ownership patterns.

Materialized views — Snowflake-oriented limits (exam)

Generic “any database” rules mislead you—always align with Materialized views + CREATE MATERIALIZED VIEW for your release.

ThemeTypical constraint / tradeoff
Single-table lineageClassic Snowflake MVs center on one base table with an aggregate SELECT pattern; broad multi-table join MVs are not the default pattern you should assume on Core.
Disallowed / restricted SQLMany constructs are rejected or limited—examples often tested: window functions, ORDER BY, HAVING, certain joins/subqueries/UDFs depending on syntax—validate against current SQL reference.
External tablesHistorically not a supported base for classic materialized views—treat “MV on external table” as false unless docs explicitly allow your pattern.
Maintenance costHigh churn on the base table increases background maintenance work—can hurt credits and latency.
StalenessMV is maintained asynchronously; readers can see slightly stale results vs live base table during refresh windows.
Secure MVSecure materialized views are not supported (pair with secure non-materialized views for sharing).

Performance & optimization

Objects & SQL (Core level)

AreaNotes
HierarchyDatabase → schema → table/view/stage/file format/task/stream/pipe…
GRANT … TO ROLE | TO USERObject privileges such as SELECT, INSERT, MODIFY, DELETE, etc., can be granted to a role or directly to a user when the privilege supports it—check the SQL reference for each privilege. Best practice for humans is still “privileges on roles, roles on users,” but exam wording may use either grantee.
TransactionsDML auto-commit per statement unless explicit transaction commands used.
CTAS / CLONECREATE TABLE AS SELECT; CREATE TABLE x CLONE y.
MERGEUpsert pattern WHEN MATCHED / WHEN NOT MATCHED.
StreamsCDC offset on table (at-least-once semantics awareness).
RESULT_SCANQuery prior query results via RESULT_SCAN(LAST_QUERY_ID()).
SequencesNEXTVAL / sequences in inserts (ordering not guaranteed across parallel inserts).

UNDROP — object recovery (grace periods)

Snowflake extends undrop beyond tables; exact object types and roles evolve—read UNDROP <object> in the SQL reference. Below is the usual Core-level mental model.

Object / scopeNotes
DatabaseUNDROP DATABASE restores DB and contained schemas/objects within the undrop window.
SchemaUNDROP SCHEMA restores schema and contained objects.
TableUNDROP TABLE for standard tables; Snowflake documents additional forms for Dynamic Tables and Iceberg tables—use the specific UNDROP variant from docs.
Dropped accountOrganization-level restore of a dropped account inside a grace period, typically requiring ORGADMIN (not a normal ACCOUNTADMIN-only flow).
Other typesPlatform adds undrop / restore coverage for more objects over time (e.g., tags, notebooks, external volumes in newer docs)—skim release notes + SQL reference before the exam.

Streams & Tasks (overview)

Data sharing & listings

TopicExam-relevant notes
Outbound shareProvider account creates SHARE, adds secure objects, grants to consumer listing or account.
Inbound shareConsumer sees share; creates database FROM SHARE to mount objects read-only.
No bulk copyShared data stays in provider storage; consumer gets access path—not a physical “transfer” of bytes to consumer tables.
CREATE DATABASE … FROM SHAREAfter creation, roles with IMPORTED PRIVILEGES (or grants) can query shared objects through that database.
Reader accountsProvider-managed login for external consumers without their own Snowflake contract (pattern awareness).
ListingsData Exchange / marketplace: monetized or governed discovery vs private direct share between accounts.
Standard (free) listingDataset/product discoverable with immediate access pattern where provider allows open consumption (no private approval loop).
Personalized / private listingConsumer often must request access; provider approves or provisions a tailored entitlement.
Limited trialTime-boxed access (e.g. subset of data or full product for 1–90 day-style trials—exact terms on listing).
Paid / subscriptionCommercial terms: subscription or usage-based billing for premium datasets (still no bulk copy to consumer storage by default).
Re-shareGenerally consumers cannot re-share provider objects unless explicitly allowed by provider policies (default deny mindset).
Secure objectsShares often expose secure views rather than base tables to hide structure and enforce row filters.

Secure views & sharing patterns

TopicNotes
PurposePrevent consumers from inferring underlying data via non-secure view optimizations (e.g., predicate pushdown leakage).
vs standard viewStandard views may expose more in plans/metadata; secure views add guardrails for shared consumption.
PerformanceSecure views may not use all the same internal optimizations as standard views—expect tradeoffs.
MaterializedPattern to remember: secure materialized views are not supported (use standard MV patterns outside secure-sharing constraints).
Profiler / planFor secure views, Snowflake may limit sensitive details in query profile/plan views to reduce inference—treat as “less detail than standard.”
DiscoveryIS_SECURE in INFORMATION_SCHEMA.VIEWS / SHOW VIEWS — you can tell if a view is secure.
DDL visibilityView text for secure views may be restricted for non-owners vs standard views—do not assume full text is always visible to all roles.

External functions & UDFs

TypeNotes
External functionInvokes remote HTTPS service (e.g., API Gateway + Lambda) — code runs outside Snowflake process boundary.
SQL UDFIn-database; RETURN expression; IMMUTABLE / VOLATILE hints matter for optimization.
JavaScript UDFRuns in Snowflake sandbox; CALLBACK_URL not for arbitrary outbound in same way as external function.
Java / Python UDFsFeature availability by edition/region—Core often tests “what runs where” conceptually.
External tableFiles in stage; REFRESH to pick up new files; partition columns from path/metadata.

Tags, policies, governance

TopicNotes
GRANT granteesMany DDL grants accept TO ROLE name or TO USER name (including privileges like MODIFY where documented). Prefer roles for operational scale; read the stem literally if it names a user grantee.
Object taggingTAG + SET TAG on columns/tables for lineage, cost allocation, classification.
Masking policyAttached to column; varies output by role/context without changing stored values.
Row access policyPredicate evaluated per query to filter rows.
ClassificationIntegration with tagging for sensitive data discovery (awareness).

Replication, costs, limits (awareness)

Which schema for metering / history? (exam pattern)

There is no standard Snowflake schema named WAREHOUSE_USAGE_SCHEMA—warehouse history is usually queried from SNOWFLAKE.ACCOUNT_USAGE views (e.g. query/warehouse metering views per current docs). Always read the question: retention window, account type, and privilege matter.

Schema / databaseTypical use
INFORMATION_SCHEMAPer-database metadata and short-window history functions/views (e.g. recent pipe usage ~14 days—confirm docs). Lower latency than ACCOUNT_USAGE for many patterns.
SNOWFLAKE.ACCOUNT_USAGEAccount-wide audit views: query history, copy history, pipe usage, warehouse load/metering, etc., usually with longer retention (often on the order of a year for many views) and latency (data can appear after a delay—see each view’s doc).
SNOWFLAKE.READER_ACCOUNT_USAGESame idea as account usage but for reader accounts (provider-created consumer accounts)—use when the stem says “reader account” or usage inside that account type.
SNOWFLAKE.ORGANIZATION_USAGE (not in your A–D list)Org-wide views (multiple accounts); requires org-level access. Often paired with ORGADMIN style questions.

Official map: Account Usage, Information Schema. Search docs for READER_ACCOUNT_USAGE for reader-account views.

Practice MCQs (original)

One question at a time — use Prev / Next, the dropdown, or while focus is inside this gray practice box. Click Reveal answer for the keyed choice(s) and rationale. Items marked Choose two use multi-select scoring in your head. Content is original study material, not third-party dumps. Deep link: #practice-q-7 opens question 7. Cert readiness still needs Snowflake docs, labs, and official prep.

Practice capture workflow

After each study topic or any shared question you can answer confidently, add 1–3 relevant MCQs to this page’s MCQS list in the same session. If the answer is uncertain, verify in Snowflake docs first, then add. Skip verbatim third-party exam dumps; keep items original and aligned with official docs.

↑ Back to study topics