Courseiva

SnowPro Core (COF-C03) — Questions 1–75

280 questions total · 4pages · All types, answers revealed

Page 1 of 4

Page 2
1
MCQhard

A data engineer observes that a transformation query run on a MEDIUM warehouse spends most of its time in the 'Remote Disk Spilling' phase of the Query Profile. The query joins two large tables and performs a large sort. Memory usage shows the warehouse consistently near its limit. The engineer wants the most direct fix that addresses the root cause. Which action should be taken?

A.Enable the query acceleration service on the warehouse to offload the sort to shared compute.
B.Rewrite the query to use a smaller data type for the join keys so less memory is consumed per row.
C.Increase the size of the virtual warehouse so more memory is available per node and spilling is avoided.
D.Add a clustering key to the larger table so fewer micro-partitions are scanned during the join.
AnswerC

Remote disk spilling means the operation exceeded the memory available on its warehouse and had to write intermediate data to remote storage, which is far slower. Scaling up the warehouse adds memory capacity to handle the join and sort working set. This directly addresses the memory shortfall that the Query Profile is showing.

Why this answer

Remote disk spilling indicates that the join and sort working set exceeded warehouse memory and intermediate data was written to remote storage. The most direct remedy is to give the operation more memory by scaling up the virtual warehouse, which increases the memory available per node. Query rewriting, query acceleration, and clustering all fail to address the memory shortfall that the Query Profile is reporting.

Exam trap

The trap here is treating remote spilling as a scan-efficiency problem and reaching for clustering or query acceleration, when the spill happens in memory-intensive join and sort operators.

2
MCQeasy

Which component of the Snowflake architecture is responsible for the permanent storage of data and is independent of compute resources?

A.Cloud Services Layer
B.Virtual Warehouse
C.Database Storage Layer
D.Query Optimizer
AnswerC

The Database Storage layer is the foundation where data is stored in a proprietary, compressed, and columnar format. It resides in cloud object storage and is managed by Snowflake, ensuring high availability, automatic scaling, and durability across the entire AI Data Cloud environment.

Why this answer

The Storage Layer is the foundation of Snowflake's multi-cluster shared data architecture. By separating storage from compute, Snowflake allows users to scale compute resources independently based on workload demand without duplicating data. This design ensures durability, massive scalability, and cost-efficiency, as users only pay for the storage consumed and the compute time utilized during active query processing tasks.

Exam trap

Candidates frequently confuse the Database Storage layer with the Virtual Warehouse component. They forget that storage is entirely independent and persistent, whereas warehouses are ephemeral compute resources.

3
MCQeasy

Which Snowflake feature allows you to access data from a previous point in time to recover from accidental deletions or updates?

A.Fail-safe
B.Time Travel
C.Data Sharing
D.Cloning
AnswerB

Time Travel enables users to access historical data via SQL syntax using the AT or BEFORE clauses. It is highly configurable, with retention periods ranging from 0 to 90 days depending on the Snowflake edition, allowing businesses to tailor their data recovery strategy to their specific needs.

Why this answer

Time Travel is a critical feature that allows users to query, clone, or restore data as it existed at any point within a defined retention period. This is essential for auditing, compliance, and disaster recovery. Because of the immutable nature of micro-partitions, Snowflake can simply reference older versions of the data, providing a high-performance, low-cost solution for data recovery without needing traditional backup and restore cycles.

Exam trap

Candidates often confuse Time Travel with Fail-safe, assuming Time Travel is for disaster recovery after the retention period has expired, which is not the case.

4
MCQeasy

Which object acts as the primary container for sharing data with external Snowflake accounts?

A.Data Warehouse
B.Database
C.Share
D.Integration
AnswerC

A Share is the specific Snowflake object designed to grant access to database objects for other accounts. It encapsulates the list of privileges and the specific tables or views being shared, ensuring that the provider maintains centralized control while the consumer can query the data securely.

Why this answer

A Share is the fundamental object in Snowflake that allows a provider to grant access to specific database objects without transferring the data itself. By using Shares, organizations can securely collaborate by allowing consumers to query the provider's data as if it were local to their own account. This architecture is vital for data governance, as it prevents data duplication and ensures consistent security policies across all shared data assets within the ecosystem.

Exam trap

Test-takers often confuse the container 'Share' with the resulting 'Database' created on the consumer side or other auxiliary metadata objects.

5
MCQeasy

A data engineer needs to unload data from a Snowflake table to an external stage that references an Amazon S3 bucket. The engineer wants to ensure that the unloaded files are encrypted using a customer-managed key in AWS KMS. Which COPY INTO <location> parameter should be used to specify the KMS key?

A.ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE')
B.ENCRYPTION = (TYPE = 'AWS_SSE_KMS')
C.ENCRYPTION = (TYPE = 'AWS_SSE_KMS' MASTER_KEY = 'arn:aws:kms:...')
D.ENCRYPTION = (TYPE = 'AWS_SSE_S3')
AnswerC

When unloading to an external S3 stage, the ENCRYPTION parameter with TYPE = 'AWS_SSE_KMS' and MASTER_KEY set to the KMS key ARN enables server-side encryption with a customer-managed KMS key. This is the correct syntax to specify the KMS key for the unloaded files, ensuring they are encrypted as required.

Why this answer

To unload data to an external S3 stage with a customer-managed KMS key, the ENCRYPTION parameter must include TYPE = 'AWS_SSE_KMS' and MASTER_KEY set to the KMS key ARN. This ensures server-side encryption with the specified key. Other options either use S3-managed keys, Snowflake-managed encryption, or omit the necessary key parameter, failing to meet the requirement.

Exam trap

The trap here is confusing S3-managed encryption (AWS_SSE_S3) with customer-managed KMS encryption (AWS_SSE_KMS) and forgetting to include the MASTER_KEY parameter.

6
Multi-Selecthard

Which THREE factors influence the performance of a Snowflake query? (Choose three)

Select 3 answers
A.The amount of data in the result cache.
B.The clustering of data in micro-partitions.
C.The virtual warehouse size.
D.The number of users currently logged into the system.
E.The complexity and design of the SQL statement.
AnswersB, C, E

Effective clustering ensures that similar data is stored together in the same micro-partitions. This allows the query optimizer to perform partition pruning, effectively skipping large chunks of data that do not match the query filters, which is a primary driver of query performance in large-scale datasets.

Why this answer

Performance in Snowflake is multidimensional, influenced by both user-driven configurations and the automated optimization processes inherent in the architecture. Key factors include the degree of data clustering, which dictates how much data must be scanned; the warehouse size, which provides the raw compute power for processing; and the efficiency of the SQL code, such as avoiding unnecessary operations. Understanding these allows administrators to balance cost and performance effectively in their Snowflake environment.

Exam trap

Candidates often include 'number of users' as a performance factor. While user count impacts concurrency, it does not directly influence the execution time of a single query's logic.

7
MCQmedium

A provider wants to share data with a consumer using a reader account because the consumer does not have a Snowflake account. Which statement describes the correct capability of a reader account in this scenario?

A.A reader account is created by the consumer and billed to the consumer, with full privileges to create databases and shares.
B.A reader account can be converted into a standard Snowflake account at any time by the consumer with no provider involvement.
C.A reader account can create its own shares and publish listings to the Snowflake Marketplace for other accounts.
D.A reader account is created and fully managed by the provider, can query shared data, and cannot load or modify data or create its own objects beyond limited query usage.
AnswerD

Reader accounts are provider-owned, provider-billed accounts intended for consumers without Snowflake accounts. The consumer accesses a web interface with limited privileges to query shared data. Readers cannot load data, create shares, or perform most write operations, and the provider pays for the compute they consume.

Why this answer

Reader accounts exist specifically for consumers without a Snowflake account. The provider creates, owns, and pays for them, and the consumer uses a limited interface to query only the shared data. They cannot load data, create shares, or be upgraded into normal accounts.

Exam trap

The trap here is assuming a reader account is a normal consumer-owned Snowflake account, when it is a provider-owned, query-only account billed to the provider.

8
MCQmedium

A provider wants to share data with a consumer but must ensure that the consumer cannot see the underlying base tables, only an aggregated subset. The provider decides to use a secure view. Which statement is true regarding the use of secure views in a share?

A.Secure views cannot be shared; only regular views can be included in a share.
B.Sharing a secure view requires granting the consumer SELECT on the base tables as well.
C.Secure views automatically encrypt the data, so consumers cannot read it without a decryption key.
D.Secure views can be shared, and the consumer can query them without having direct access to the base tables.
AnswerD

Secure views are designed for data sharing because they hide the view definition and the underlying data. When a secure view is granted to a share, the consumer can query the view and receive results based on the view's logic, but they cannot access the base tables directly. This allows providers to share a controlled subset of data while protecting sensitive details.

Why this answer

Secure views are ideal for sharing because they allow consumers to query a defined subset of data without exposing the underlying tables or the view definition. The consumer only needs SELECT on the secure view. This ensures that sensitive base data remains protected while enabling controlled data sharing.

Exam trap

The trap here is assuming that sharing a secure view requires granting access to base tables, when in fact secure views are designed to avoid that.

9
MCQmedium

What happens when you modify data in a zero-copy cloned table?

A.The original table is automatically updated.
B.The entire dataset is copied to the clone.
C.Only the modified micro-partitions are stored as new files.
D.The clone becomes locked and read-only.
AnswerC

Snowflake implements copy-on-write at the micro-partition level. When a row in a cloned table is modified, the entire micro-partition containing that row is rewritten. The new partition is unique to the clone, while the rest of the table remains linked to the original, shared micro-partitions.

Why this answer

When data is modified in a clone, Snowflake uses a 'copy-on-write' mechanism. Only the changed micro-partitions are created as new, independent files. The cloned table then points to the new partition for the modified data while still pointing to the original micro-partitions for all unmodified data.

This ensures that the clone remains isolated from the original table without requiring an initial full copy of the entire dataset.

Exam trap

Candidates often mistakenly believe zero-copy cloning creates a full physical copy of the data, leading them to worry about immediate storage costs or the time required to create the clone.

10
Multi-Selecthard

A data engineer is using the COPY INTO command to unload data from a Snowflake table to an external stage (Amazon S3). The engineer wants to ensure the unloaded files are encrypted and can be decrypted by the target system. Which TWO statements are true regarding the encryption of unloaded files? (Choose two.)

Select 2 answers
A.Client-side encryption with a master key requires the target system to use the same master key to decrypt the files.
B.Snowflake supports server-side encryption with Amazon S3-managed keys (SSE-S3) for unloaded files when the external stage is configured accordingly.
C.Unloaded files are always encrypted with AES-256 regardless of the encryption settings on the external stage.
D.By default, Snowflake uses client-side encryption with a 128-bit key to encrypt unloaded files.
E.If no encryption is specified for the external stage, unloaded files are not encrypted and are stored in plaintext.
AnswersA, B

With client-side encryption, Snowflake encrypts the files before uploading them to the external stage using a master key you provide. The target system must possess the same master key to decrypt the files. This provides end-to-end encryption but requires secure key management and distribution to the consuming system.

Why this answer

For unloading to an external stage, Snowflake supports both server-side encryption (e.g., SSE-S3, SSE-KMS) and client-side encryption with a master key. Server-side encryption relies on the cloud provider's encryption, while client-side encryption encrypts data before upload, requiring the target system to have the master key. Both methods ensure data is encrypted at rest and can be decrypted by authorized parties.

Exam trap

The trap here is assuming that unloaded files are unencrypted by default or that a single encryption method always applies, when Snowflake enforces encryption and offers multiple configurable options.

11
MCQmedium

A data architect needs to ensure that data in Snowflake is encrypted at rest and in transit. Which feature provides the highest level of security by allowing the customer to manage their own encryption keys?

A.Standard Snowflake encryption
B.Tri-Secret Secure
C.Always Encrypted
D.Data Masking
AnswerB

Tri-Secret Secure allows customers to provide their own encryption keys, which are combined with Snowflake's internal keys. This process ensures that the data is encrypted using a hierarchical key model where the top-level key is controlled entirely by the customer via an external cloud-based KMS.

Why this answer

Tri-Secret Secure combines Snowflake-managed keys with customer-managed keys stored in an external Key Management Service (KMS). This architecture provides an additional layer of protection, ensuring that even if Snowflake's internal infrastructure were compromised, the data remains encrypted without the customer-provided key. It is essential for highly regulated industries requiring absolute control over their data lifecycle and encryption keys.

Exam trap

Candidates often confuse Tri-Secret Secure with standard encryption-at-rest features, failing to recognize that the former specifically involves the customer's own KMS.

12
MCQmedium

A Snowflake account has a custom role named DATA_ENGINEER. The administrator wants to ensure that DATA_ENGINEER can create databases and warehouses but cannot manage users or roles. Which predefined role should DATA_ENGINEER be granted to achieve this?

A.SYSADMIN
B.ACCOUNTADMIN
C.USERADMIN
D.SECURITYADMIN
AnswerA

SYSADMIN is the predefined role responsible for creating and managing warehouses, databases, and other objects. Granting SYSADMIN to DATA_ENGINEER provides the necessary privileges to create databases and warehouses. It does not include the ability to manage users or roles, which aligns with the requirement to restrict those actions.

Why this answer

SYSADMIN is the predefined role that provides privileges to create and manage warehouses, databases, and other objects. It does not include user or role management, which is handled by SECURITYADMIN and USERADMIN. By granting SYSADMIN to DATA_ENGINEER, the administrator ensures the role can perform its intended tasks without over-privileging it.

Exam trap

The trap here is assuming that ACCOUNTADMIN is needed for object creation, overlooking that SYSADMIN provides the necessary privileges without user management.

13
MCQeasy

A Snowflake administrator is configuring a new external stage to load data from an Amazon S3 bucket. The storage integration already exists and is named MY_S3_INT. The administrator needs to reference this integration when creating the stage. Which SQL statement correctly creates the stage with the necessary parameters?

A.CREATE STAGE my_stage URL='s3://mybucket/path/' INTEGRATION=MY_S3_INT;
B.CREATE STAGE my_stage URL='s3://mybucket/path/' STORAGE_INTEGRATION='MY_S3_INT';
C.CREATE STAGE my_stage URL='s3://mybucket/path/' STORAGE_INTEGRATION=MY_S3_INT;
D.CREATE STAGE my_stage URL='s3://mybucket/path/' CREDENTIALS=(AWS_KEY_ID='...' AWS_SECRET_KEY='...');
AnswerC

This statement correctly creates an external stage pointing to the S3 bucket path and references the existing storage integration MY_S3_INT using the STORAGE_INTEGRATION parameter. This allows Snowflake to access the S3 bucket using the IAM role configured in the integration, avoiding the need to embed credentials in the stage definition.

Why this answer

To create an external stage that uses a storage integration, the correct syntax includes the STORAGE_INTEGRATION parameter followed by the integration name as an identifier (unquoted). This allows Snowflake to assume the IAM role defined in the integration to access the S3 bucket securely, without embedding credentials.

Exam trap

The trap here is confusing the parameter name or incorrectly quoting the integration name, which leads to syntax errors or misconfiguration.

14
MCQmedium

Which feature should a provider use if they need to allow a consumer to access data based on the consumer's specific identity or organizational attributes?

A.Standard Views
B.Row Access Policies
C.Data Masking Policies
D.Account-level Replication
AnswerB

Row Access Policies provide a centralized mechanism to restrict rows returned by a query based on the current user or role. This is the industry-standard way to manage multi-tenant data access, enabling providers to apply granular security logic that is enforced automatically when the share is queried.

Why this answer

Row-level security, implemented via Row Access Policies, is the correct tool for filtering data dynamically based on user context. In a sharing context, the policy evaluates the current user's attributes at query time. This allows a single shared table to serve different consumers with customized views of the data, ensuring that each consumer only sees the records they are authorized to access without creating separate tables for every partner.

Exam trap

Candidates often choose separate static tables or standard views, missing the dynamic identity evaluation capabilities required for customized consumer access.

15
MCQhard

A data engineer is optimizing a query that filters on a high-cardinality column in a very large table. The query currently performs a full table scan. The engineer decides to add a clustering key on that column. After clustering, the query performance improves significantly for some queries but remains poor for others that filter on a different low-cardinality column. What is the most likely reason for the inconsistent performance?

A.Clustering keys only improve performance for queries that filter on the clustering key column; other filters benefit only if they are correlated with the clustering key.
B.The clustering key must be defined on all columns used in WHERE clauses to achieve any performance improvement.
C.The automatic clustering service has not yet reclustered the table, so the clustering key is not effective for any query.
D.Clustering keys only benefit queries that use the CLUSTER BY clause in the SELECT statement.
AnswerA

Clustering organizes data by the clustering key, so queries filtering on that column can skip many micro-partitions. Queries filtering on a different, uncorrelated column cannot benefit because the data is not sorted by that column. The low-cardinality column likely does not correlate with the high-cardinality clustering key, so pruning is ineffective. This explains why some queries improved while others did not.

Why this answer

Clustering improves pruning only for predicates on the clustering key or on columns that are correlated with it. When queries filter on a different, uncorrelated column, the micro-partitions cannot be pruned based on that column, so performance remains poor. The engineer should consider whether the low-cardinality column is correlated with the clustering key or consider a different clustering strategy, such as clustering on an expression that combines both columns if that aligns with query patterns.

Exam trap

The trap here is assuming that clustering on one column will speed up all queries regardless of their filter columns, when pruning only works for the clustering key or correlated columns.

16
MCQeasy

A consumer has created a database from a share provided by a partner. The consumer wants to query the shared data but receives an error indicating insufficient privileges. Which role must the consumer's user be granted to access the shared database?

A.The PUBLIC role
B.A role with the IMPORTED PRIVILEGES privilege on the shared database
C.The ACCOUNTADMIN role
D.The SYSADMIN role
AnswerB

In the consumer account, access to a shared database is controlled by the IMPORTED PRIVILEGES privilege. The consumer must grant this privilege on the shared database to a role, and then grant that role to the user. This allows the user to query the shared objects. Without this privilege, the user cannot access the shared data even if the database exists.

Why this answer

To access a shared database, the consumer must grant the IMPORTED PRIVILEGES privilege on that database to a role and then grant that role to the user. This privilege is specific to shared databases and is required for any role that needs to query the shared objects. Other roles like ACCOUNTADMIN or SYSADMIN do not have this privilege by default.

Exam trap

The trap here is assuming that system-defined roles like ACCOUNTADMIN or SYSADMIN automatically have access to shared databases, when in fact the IMPORTED PRIVILEGES privilege must be explicitly granted.

17
MCQhard

A data engineer notices a large table's clustering depth is very high on the columns used in frequent range filters, and queries are scanning far more micro-partitions than expected. The table receives continuous small inserts throughout the day. Which action best improves pruning while controlling reclustering cost?

A.Remove the clustering key and add a search optimization service on the filter columns instead.
B.Keep the existing clustering key and rely on automatic reclustering to restore ordering.
C.Batch the small inserts into larger, less frequent loads so fewer micro-partitions are created out of order.
D.Change the clustering key to a high-cardinality column such as a unique transaction ID.
AnswerC

Continuous tiny inserts create many small, overlapping micro-partitions that raise clustering depth and force reclustering. Consolidating them into larger, less frequent loads produces better-ordered micro-partitions with less overlap, improving pruning while reducing the volume of data automatic reclustering must reorganize. This directly addresses both the pruning problem and the reclustering cost in the scenario.

Why this answer

Frequent tiny inserts scatter data across many micro-partitions, inflating clustering depth and undermining min-max pruning. Consolidating those inserts into larger batches yields better-ordered micro-partitions, so range filters prune more effectively and automatic reclustering has less fragmented data to reorganize. Choosing a different key or removing clustering would not solve the root cause of the poor ordering.

Exam trap

The trap here is blaming the clustering key itself rather than the insert pattern, when continuous small loads are what degrade micro-partition ordering.

18
MCQmedium

A provider wants to share data with a consumer and ensure that the consumer can only read the data but cannot create any objects in the shared database. The provider has already created a share and granted USAGE on the database and schema, and SELECT on the table. What additional step, if any, is required to enforce read-only access?

A.The provider must grant the CREATE privilege on the schema to the share to allow the consumer to create objects.
B.No additional step is required; the consumer automatically has read-only access to shared databases.
C.The provider must set the share to read-only mode using the ALTER SHARE command.
D.The provider must revoke the USAGE privilege on the database from the share to prevent object creation.
AnswerB

When a consumer creates a database from a share, they receive a read-only version of the shared objects. The consumer cannot create, modify, or drop objects in the shared database. The privileges granted by the provider are limited to USAGE and SELECT, which are read-only. Therefore, no additional step is needed to enforce read-only access; it is inherent to shared databases.

Why this answer

Shared databases in Snowflake are read-only for consumers. The provider grants USAGE on the database and schema, and SELECT on objects, which are read-only privileges. Consumers cannot create or modify objects in a shared database.

No additional configuration is needed to enforce read-only access because it is the default and only behavior for shares.

Exam trap

The trap here is believing that additional privileges or commands are needed to make a share read-only, but shares are always read-only for consumers, and the provider cannot grant write privileges on shared objects.

19
MCQmedium

When querying an External Table, which technique provides the most significant performance improvement for selective queries?

A.Converting the files in cloud storage to the CSV format.
B.Defining logical partitions that correspond to the storage path.
C.Enabling the Search Optimization Service on the external table.
D.Increasing the warehouse size to 6X-Large.
AnswerB

Partitioning external tables allows Snowflake to use 'partition pruning' at the cloud storage level. By only accessing the specific folders or files that match the query's filter criteria, the system avoids downloading unnecessary data, which is the most common bottleneck for external table performance.

Why this answer

External tables reside on cloud storage outside of Snowflake. To avoid scanning all files in a bucket, Snowflake uses partitioning. By defining partition columns that match the folder structure of the external storage (e.g., year/month/day), the engine can prune irrelevant files, significantly reducing the I/O required for the query.

Exam trap

Candidates often think that indexing the external data files is the primary solution. They overlook that partition pruning via directory structure is the actual mechanism for performance.

20
MCQeasy

A company is using a Multi-cluster Warehouse with the 'Auto-scale' mode enabled. What is the primary performance benefit of this configuration for a BI dashboard used by 500 concurrent users?

A.It reduces the execution time of a single, complex long-running query.
B.It increases the memory available for large-scale data joins.
C.It prevents query queuing by providing more clusters to handle concurrent requests.
D.It automatically optimizes the clustering keys of the tables being queried.
AnswerC

The primary goal of multi-cluster warehouses is to manage high concurrency. When the number of incoming queries exceeds the capacity of a single cluster, Snowflake automatically spins up additional clusters to process the extra load, ensuring that users do not experience delays due to queuing.

Why this answer

Multi-cluster warehouses are designed to handle high concurrency by automatically starting additional warehouse clusters as query queuing is detected. This ensures that as more users connect and run queries, the system can scale horizontally to maintain consistent performance and minimize wait times for all users.

Exam trap

Candidates often believe multi-cluster warehouses increase the speed of individual queries. They fail to realize it only scales horizontally to handle more concurrent users, not faster single-query execution.

21
MCQeasy

A consumer account has mounted a shared database from a provider. The consumer's role CONSUMER_ROLE has been granted USAGE on the shared database and its schemas. However, when the consumer tries to query a table in the shared database, they receive an error that the table does not exist. What is the most likely cause?

A.The provider has not granted SELECT on the table to the share.
B.The consumer's role lacks the USAGE privilege on the table.
C.The consumer needs to grant SELECT on the table to CONSUMER_ROLE.
D.The shared database has not been refreshed after the provider added the table.
AnswerA

For a consumer to query a table in a shared database, the provider must grant SELECT on that table to the share. The consumer's USAGE grant on the database and schema is necessary but not sufficient. Without the provider's SELECT grant, the table will not be visible or queryable, resulting in a 'table does not exist' error. This is the most likely cause.

Why this answer

The most likely cause is that the provider has not granted SELECT on the table to the share. Consumers cannot grant privileges on shared objects; they rely on the provider's grants. Without SELECT granted to the share, the table is not accessible, leading to a 'table does not exist' error.

The consumer's USAGE grants on the database and schema are necessary but not sufficient.

Exam trap

The trap here is assuming that consumer-side USAGE grants are enough to query shared tables, when in fact the provider must grant SELECT on each table to the share.

22
MCQeasy

How does Snowflake's micro-partitioning architecture contribute to query performance without requiring user intervention?

A.It requires users to manually define partition boundaries for every table.
B.It uses metadata to prune irrelevant micro-partitions during query execution.
C.It compresses data using a single global algorithm for the entire table.
D.It stores all data in a single massive file to avoid file system overhead.
AnswerB

Snowflake stores metadata (min/max values, etc.) for every column in every micro-partition. When a query is run, the engine uses this metadata to determine which partitions cannot possibly contain the requested data, allowing it to skip those partitions and only scan the necessary data.

Why this answer

Micro-partitioning is the foundation of Snowflake's performance and scalability. Because it is automatic, users do not need to define partitions manually as they do in traditional systems. This 'zero-management' approach ensures that data is always organized for performance, and the metadata generated during this process is what enables extremely fast pruning.

Exam trap

Many candidates believe users must manually specify partition keys or run maintenance jobs, forgetting that Snowflake handles micro-partitioning completely automatically.

23
MCQmedium

A data engineer creates a materialized view on a large sales fact table to improve performance for a frequently run aggregation query. After a few days, users report that the materialized view sometimes returns stale data compared to the base table. The engineer verifies that the base table is being updated continuously via Snowpipe. What is the most likely explanation for the stale results?

A.Materialized views are not supported on tables that are updated by Snowpipe; therefore, the view is not being refreshed.
B.The materialized view is refreshed asynchronously, and there can be a delay between base table updates and the view reflecting those changes.
C.The materialized view was created without specifying a refresh interval, so it never refreshes automatically.
D.Materialized views in Snowflake are automatically refreshed only when the base table changes, but Snowpipe loads do not trigger refreshes.
AnswerB

Materialized views in Snowflake are maintained automatically but asynchronously. When the base table changes, the materialized view is not updated immediately; instead, Snowflake schedules a refresh that may introduce a lag. This explains why users see stale data for a period after Snowpipe loads new rows.

Why this answer

Materialized views in Snowflake are automatically maintained but refreshes are asynchronous, meaning there can be a delay before changes in the base table are reflected. This inherent lag explains why users might see stale data shortly after Snowpipe loads new records. The refresh process is managed by Snowflake and does not require manual intervention or interval settings.

Exam trap

The trap here is assuming that materialized views are updated in real-time with the base table, when in fact they are refreshed asynchronously.

24
MCQhard

Which TWO statements are true regarding the costs associated with Data Sharing in Snowflake?

A.The data provider is responsible for all compute costs incurred by the consumer.
B.The data provider pays for the storage costs of the shared data.
C.The consumer pays for the storage costs of the shared data.
D.The data consumer is responsible for the compute costs of their queries.
E.Both the provider and consumer share the total compute costs equally.
AnswerB, D

Since the shared data physically resides in the provider's Snowflake storage, the provider is responsible for the storage costs. This is a core component of the Snowflake shared-data architecture, where data is never moved or copied to the consumer's account, thus saving storage costs for the consumer.

Why this answer

Understanding the cost model is crucial for data providers. In Snowflake, the data provider pays for the storage of the shared data, as it resides in their account. However, the consumer is responsible for the compute costs incurred when running queries against that shared data.

This separation of costs ensures that data providers can scale their offerings based on data volume, while consumers maintain control over their own compute spend and workload optimization efforts.

Exam trap

Candidates often incorrectly assume that data consumers also pay for the storage of the shared data, or that providers pay for consumer query compute costs.

25
Multi-Selectmedium

A data engineer is investigating a slow-running query. The Query Profile shows a high percentage of time spent in the TableScan operator and a large number of partitions scanned. The engineer wants to reduce the number of partitions scanned by using pruning. Which TWO actions should the engineer take? (Choose two.)

Select 2 answers
A.Apply filters early in the query and avoid wrapping filter columns in functions.
B.Increase the size of the virtual warehouse to reduce the number of partitions scanned.
C.Use the SEARCH function in the WHERE clause for all string filters.
D.Convert the table to a transient table to enable automatic pruning.
E.Ensure that the query filters on columns that are part of the clustering key, if one exists.
AnswersA, E

Filters that are applied directly to columns allow the optimizer to use them for partition pruning. Wrapping a filter column in a function, such as UPPER or CAST, can prevent the optimizer from using the column's metadata for pruning. Applying filters early and keeping them as simple predicates on columns helps Snowflake eliminate unnecessary micro-partitions, reducing the number of partitions scanned.

Why this answer

Partition pruning is driven by filters that the optimizer can use against micro-partition metadata. Filtering on clustering key columns and avoiding functions on filter columns allow Snowflake to skip irrelevant micro-partitions, directly reducing the number of partitions scanned.

Exam trap

The trap here is thinking that warehouse size or table type affects the number of partitions scanned, when pruning is determined by the query predicates and data organization.

26
MCQeasy

A compliance officer needs to confirm which roles have been granted to a specific user across the account, including grants made through role hierarchies. Which Snowflake command should be used to retrieve this information?

A.SHOW GRANTS TO USER <username>
B.SHOW GRANTS ON USER <username>
C.SHOW USERS
D.SHOW ROLES
AnswerA

SHOW GRANTS TO USER lists all roles granted directly to the user and, importantly, also reflects roles inherited through the role hierarchy. This gives the compliance officer a complete view of effective role assignments. It is the standard command for auditing user-role relationships and directly answers the requirement without needing to inspect each role individually.

Why this answer

SHOW GRANTS TO USER returns the roles granted to a named user, including those inherited through role hierarchies, which is exactly what a compliance audit needs. SHOW GRANTS ON targets object privileges, SHOW ROLES lists role definitions, and SHOW USERS lists user accounts. Only SHOW GRANTS TO USER maps a user to their effective roles.

Exam trap

The trap here is mixing up TO and ON in the SHOW GRANTS syntax, where TO is for roles granted to a user and ON is for privileges on an object.

27
MCQmedium

A data architect is designing a multi-cluster warehouse to handle unpredictable peak concurrent user sessions. Which scaling property ensures that Snowflake automatically starts additional warehouse clusters to prevent query queuing while maintaining performance?

A.Auto-resume
B.Scaling Policy
C.Multi-cluster warehouse configuration
D.Warehouse auto-suspend
AnswerC

Setting a value greater than 1 for MAX_CLUSTER_COUNT enables the multi-cluster warehouse capability. This allows Snowflake to automatically start additional clusters when the current load results in query queuing, directly addressing the requirement for maintaining performance during peak concurrent usage scenarios within the Snowflake architecture.

Why this answer

Multi-cluster warehouses are designed specifically to handle high concurrency. By setting the 'MIN_CLUSTER_COUNT' and 'MAX_CLUSTER_COUNT' properties, Snowflake monitors the queue length and automatically provisions additional clusters to distribute the load. This architectural feature is vital for maintaining consistent performance during bursty workloads without manual intervention, ensuring that end-users do not experience latency when the warehouse reaches its full processing capacity under heavy concurrent query requests.

Exam trap

Candidates often confuse scaling up (resizing the warehouse) with scaling out (multi-cluster). Resizing helps with complex, long-running queries, whereas multi-cluster scaling specifically addresses concurrency and queuing issues for multiple users.

28
MCQmedium

A data engineer is configuring a Snowpipe to automatically load data from an external stage (Google Cloud Storage) into a Snowflake table. The engineer wants to minimize latency between file arrival and data availability. Which configuration should the engineer use?

A.Configure the external stage to use a storage integration and set the pipe's file format to automatically detect new files via directory listing.
B.Set up a cloud messaging service (e.g., Google Cloud Pub/Sub) to send event notifications to Snowflake, and create a pipe with AUTO_INGEST = TRUE.
C.Create a pipe with AUTO_INGEST = FALSE and schedule a task to call the pipe every minute using SYSTEM$PIPE_FORCE_REFRESH.
D.Use the Snowpipe REST API to call insertFiles every 30 seconds from an external scheduler to check for new files.
AnswerB

Snowpipe with AUTO_INGEST = TRUE uses cloud messaging to receive event notifications when new files arrive in the external stage. This triggers immediate ingestion, minimizing latency. For Google Cloud Storage, you configure Pub/Sub to send notifications to Snowflake, which then loads the files automatically.

Why this answer

To minimize latency, Snowpipe should be configured with AUTO_INGEST = TRUE, which leverages cloud messaging services to receive event notifications when new files arrive. This event-driven approach triggers immediate ingestion, ensuring data is loaded as soon as it lands in the external stage.

Exam trap

The trap here is assuming that periodic polling or manual triggers can match the low latency of event-driven auto-ingest, when they inherently introduce delays and overhead.

29
MCQeasy

A user needs to query data stored in an external stage that points to an Amazon S3 bucket. The user has been granted the necessary privileges on the stage and the storage integration. Which of the following is required to successfully query the data directly from the stage using a SELECT statement?

A.The S3 bucket must be in the same AWS region as the Snowflake account.
B.The external stage must be defined with a file format that matches the data.
C.The user must have the ACCOUNTADMIN role to query external stages.
D.The data must first be loaded into a Snowflake table using COPY INTO.
AnswerB

To query data directly from an external stage, the stage must be configured with a file format that matches the data files (e.g., CSV, JSON, Parquet). This allows Snowflake to parse the files correctly. Without a proper file format, the query will fail or return incorrect results. The file format can be specified in the stage definition or in the SELECT statement.

Why this answer

To query data directly from an external stage, the stage must have a file format defined that matches the data files. This enables Snowflake to interpret the data correctly. Loading data into a table is optional, and administrative roles or same-region buckets are not required.

The key is proper configuration of the stage and appropriate privileges.

Exam trap

The trap here is assuming that data must always be loaded into a table before querying, overlooking Snowflake's ability to query external stages directly.

30
MCQmedium

A data engineer has set up a Snowpipe that continuously loads JSON files from an external stage into a table. The stage references an Amazon S3 bucket with a notification integration. After several days, the engineer notices that new files are not being ingested, even though they exist in the S3 bucket. The Snowpipe is in a RUNNING state and the notification integration is active. What is the MOST likely cause of the missing data?

A.The files are compressed with gzip, which Snowpipe cannot automatically decompress.
B.The virtual warehouse used by Snowpipe is suspended, preventing the pipe from executing.
C.The S3 bucket notification is not configured to send events for the specific prefix or suffix of the new files.
D.The Snowpipe's metadata has expired because the pipe was paused for more than 14 days.
AnswerC

Snowpipe relies on event notifications from the cloud storage to trigger loads. If the S3 bucket notification is not configured for the prefix or suffix matching the new files, Snowpipe will not receive events and thus will not load them. This is a common misconfiguration that leads to missing data even when the pipe is running.

Why this answer

Snowpipe ingests files based on event notifications from the external stage's cloud storage. When new files are not loaded, the most likely cause is that the event notification is not configured to capture those files, such as missing prefix or suffix filters. The pipe's running state and notification integration being active do not guarantee that all files trigger events.

Checking the S3 bucket's event configuration is essential.

Exam trap

The trap here is assuming that a running Snowpipe will automatically load all new files without verifying that the cloud storage event notifications are correctly scoped to the file paths.

31
Multi-Selecthard

A Snowflake administrator is configuring a new virtual warehouse for a team of data scientists who will run ad-hoc queries with varying concurrency. The administrator wants to ensure optimal performance and cost-efficiency. Which two configurations should the administrator consider? (Choose two.)

Select 2 answers
A.Set the warehouse to auto-suspend after 5 minutes of inactivity to reduce credit consumption.
B.Disable the query result cache to ensure queries always use the latest data.
C.Set the warehouse to run 24/7 without auto-suspend to avoid startup latency.
D.Enable multi-cluster warehouse with a minimum of 1 and maximum of 3 clusters to handle concurrency spikes.
E.Increase the warehouse size to 4X-Large to ensure queries run as fast as possible.
AnswersA, D

Auto-suspend automatically stops the warehouse after a period of inactivity, which saves credits. A 5-minute auto-suspend is a reasonable balance for ad-hoc queries, as it avoids keeping the warehouse running when not needed, while not being so short that it causes frequent restarts. This helps with cost-efficiency for intermittent workloads.

Why this answer

For ad-hoc queries with varying concurrency, a multi-cluster warehouse with a min of 1 and max of 3 clusters handles concurrency spikes efficiently, while auto-suspend after 5 minutes reduces credits during idle periods. These two settings balance performance and cost, making them the best choices.

Exam trap

The trap here is focusing solely on performance (e.g., oversizing or disabling caches) or cost (e.g., 24/7 running) without considering the balance needed for ad-hoc workloads.

32
MCQeasy

A data engineer runs a long-running aggregation query on a virtual warehouse. Mid-execution, the warehouse is resized from MEDIUM to LARGE. What happens to the query?

A.The query is cancelled and must be resubmitted manually after the resize completes.
B.The query fails with an error indicating the warehouse size changed during execution.
C.The query is paused, the warehouse resizes, and the query automatically resumes on the LARGE warehouse with full progress preserved.
D.The query continues running on the MEDIUM warehouse until completion, and the resize applies to subsequent queries.
AnswerD

Snowflake does not migrate a running query to a differently sized warehouse. The resize takes effect only after the current query finishes and the warehouse restarts with the new size. This behavior prevents disruption and ensures query stability, though it means the in-flight query cannot benefit from the additional compute resources.

Why this answer

When a warehouse is resized while queries are running, Snowflake postpones the change until the warehouse becomes idle. The running query continues on the original size and completes normally. The new size applies only to future queries after the warehouse restarts.

This design avoids disrupting active workloads and ensures consistent execution.

Exam trap

The trap here is assuming that a resize immediately affects in-flight queries or that it interrupts them, when Snowflake defers the change until the warehouse is idle.

33
MCQmedium

A data provider at ACME Corp has created a share named REGIONAL_SALES_SHARE and added a secure view on the SALES table. The provider now wants to grant a specific consumer account, named CONSUMER_ACCT, access to this share. Which command should the provider use to accomplish this?

A.GRANT IMPORTED PRIVILEGES ON DATABASE REGIONAL_SALES_SHARE TO ACCOUNT CONSUMER_ACCT;
B.GRANT USAGE ON SHARE REGIONAL_SALES_SHARE TO ACCOUNT CONSUMER_ACCT;
C.ALTER SHARE REGIONAL_SALES_SHARE ADD ACCOUNT = CONSUMER_ACCT;
D.CREATE SHARE REGIONAL_SALES_SHARE GRANT TO ACCOUNT CONSUMER_ACCT;
AnswerC

The ALTER SHARE command with the ADD ACCOUNT clause is the correct way to grant a consumer account access to a share. This command adds the specified account to the share's list of authorized accounts, allowing the consumer to create a database from the share. It is the standard method for sharing data with specific accounts.

Why this answer

To share data with a specific consumer account, the provider must add that account to the share using ALTER SHARE ... ADD ACCOUNT. This grants the consumer account the ability to create a database from the share.

The other commands either have incorrect syntax or serve different purposes, such as granting privileges within an account rather than authorizing an external account.

Exam trap

The trap here is confusing the GRANT USAGE ON SHARE command, which is used to grant a role within the provider's account the ability to manage the share, with the ALTER SHARE ... ADD ACCOUNT command, which is used to authorize a consumer account to access the share.

34
Multi-Selecthard

A data engineer is optimizing a complex query that joins multiple large tables and includes several aggregations. The Query Profile shows a high number of rows spilled to local disk and remote disk. Which TWO actions are most likely to reduce spilling and improve performance? (Choose two.)

Select 2 answers
A.Add a clustering key on the join columns of the largest table.
B.Convert the query to use a temporary table to materialize intermediate results.
C.Rewrite the query to filter and aggregate data earlier in the pipeline.
D.Enable the USE_CACHED_RESULT parameter to reuse previous results.
E.Increase the size of the virtual warehouse to provide more memory.
AnswersC, E

By applying filters and aggregations as early as possible, the volume of data that needs to be joined and processed is reduced. This lowers the memory footprint of intermediate results, decreasing the likelihood of spilling. Early aggregation can also reduce the size of hash tables used in joins, further alleviating memory pressure.

Why this answer

Spilling indicates that intermediate results exceed available memory. Increasing warehouse size provides more memory, and rewriting the query to filter and aggregate earlier reduces the volume of intermediate data. Clustering, result caching, and temporary tables do not directly address the memory pressure causing the spilling.

Exam trap

The trap here is assuming that clustering or caching will fix spilling, when spilling is a memory issue best solved by more memory or less data.

35
MCQmedium

An organization wants to create a 'Data Exchange' but only for its internal departments and a few selected vendors. They want to control who can join and what data is listed. Which Snowflake feature is best suited for this?

A.Snowflake Marketplace with Public Visibility.
B.A Private Data Exchange.
C.Direct Sharing with a single 'Global Share' object.
D.Database Replication across all department accounts.
AnswerB

A Private Data Exchange provides the exact functionality requested: a managed portal where the organization acts as the administrator. They can invite specific internal and external accounts to join as providers or consumers, ensuring that the data collaboration remains secure, governed, and restricted to a trusted circle of participants.

Why this answer

A Snowflake Data Exchange (often referred to as a Private Exchange) is a private version of the Marketplace. It allows an organization to create its own curated data ecosystem. The organizer can invite specific members, approve or reject listings, and maintain strict governance over the collaboration environment, making it ideal for internal or closed-ecosystem sharing.

Exam trap

Test-takers frequently confuse the Snowflake Marketplace with a Private Data Exchange, overlooking the need for organizational control and restricted membership curation.

36
MCQhard

A user is assigned the 'SECURITYADMIN' role. Which of the following tasks can this user perform?

A.Create and manage warehouses.
B.Modify account-level billing settings.
C.Grant and revoke privileges to other roles.
D.Drop databases without restriction.
AnswerC

The SECURITYADMIN role has the ability to manage grants, create roles, and manage users. This role is central to implementing RBAC within the account. Because it controls access to data and other objects, it must be carefully audited to prevent unauthorized privilege escalation and misuse of permissions.

Why this answer

The SECURITYADMIN role is specifically designed for managing security objects such as roles, grants, and users. This role has the power to grant and revoke privileges to other roles. Keeping this role separate from SYSADMIN (which manages warehouses and databases) is a key governance practice known as Segregation of Duties, ensuring that no single person has unchecked control over both security and data.

Exam trap

Candidates often assume SECURITYADMIN can also manage data warehouses or databases, failing to observe the principle of Segregation of Duties where SYSADMIN manages data and SECURITYADMIN manages access.

37
MCQhard

A developer is running a COPY INTO command to load 1,000 CSV files. The requirement is that if even one row in any file fails due to a data type mismatch, the entire load operation must stop and no data should be committed to the table. Which ON_ERROR setting is required?

A.ON_ERROR = CONTINUE
B.ON_ERROR = SKIP_FILE
C.ON_ERROR = ABORT_STATEMENT
D.ON_ERROR = SKIP_FILE_1%
AnswerC

ABORT_STATEMENT is the default behavior for the COPY command. It ensures that if any error is detected in any of the files being loaded, the entire operation is halted immediately. No records from any of the files are committed to the target table, maintaining the highest level of data consistency for the load.

Why this answer

The ON_ERROR parameter determines how the COPY command handles malformed data or schema mismatches. The ABORT_STATEMENT setting is the strictest option available, ensuring transactional integrity by rolling back the entire load if a single error occurs. This is critical for datasets where partial loads could lead to data inconsistency or require complex manual cleanup.

Exam trap

Candidates frequently choose CONTINUE or SKIP_FILE when asked to completely halt and roll back a bulk load upon a single error, confusing error tolerance with strict transactional atomicity.

38
MCQhard

A provider has created a share and granted SELECT on a table to the share. The provider now wants to allow the consumer to query the table but also wants to ensure that the consumer cannot see the table's columns that contain personal data. The provider decides to create a secure view that excludes the sensitive columns and grants SELECT on the view to the share. The provider does NOT grant SELECT on the base table to the share. What will the consumer experience when querying the shared view?

A.The consumer must be granted SELECT on the base table for the view to return results, but this would expose the sensitive columns.
B.The consumer will receive an error because they lack privileges on the base table referenced by the view.
C.The consumer can query the view successfully and will see only the non-sensitive columns.
D.The consumer can query the view but will also be able to see the sensitive columns because the view is not secure.
AnswerC

A secure view executes with the owner's privileges, so the consumer does not need SELECT on the base table. The view's definition excludes the sensitive columns, and its results only include the projected columns. The consumer can query the view and see the non-sensitive data. The secure property hides the view definition, preventing the consumer from discovering the excluded columns through metadata.

Why this answer

A shared secure view executes with the owner's privileges, so the consumer does not need privileges on the base table. The view definition excludes sensitive columns, and the secure property hides that definition. As a result, the consumer can query the view and see only the non-sensitive columns.

Granting SELECT on the base table is unnecessary and would actually expose the sensitive data.

Exam trap

The trap here is thinking that consumers need privileges on base tables to query a shared view.

39
MCQmedium

A data engineer is loading data from a set of CSV files stored in an external stage into a Snowflake table. The files have a header row, and the engineer wants to skip the header during loading. The engineer also wants to ensure that any rows with missing values in a NOT NULL column are skipped and logged. Which FILE_FORMAT option should be used to skip the header row?

A.PARSE_HEADER = TRUE
B.SKIP_HEADER = 1
C.FIELD_DELIMITER = ','
D.SKIP_BLANK_LINES = TRUE
AnswerB

SKIP_HEADER specifies the number of header rows to skip at the beginning of each file. Setting it to 1 will skip the first row, which is the header. This is the correct option to ignore the header row. It is commonly used with CSV files that have a single header line.

Why this answer

To skip the header row in a CSV file during loading, the FILE_FORMAT option SKIP_HEADER should be set to the number of header rows to skip, typically 1. This ensures that the first row is ignored and not loaded into the table. Other options like SKIP_BLANK_LINES or FIELD_DELIMITER do not serve this purpose.

PARSE_HEADER is not a valid Snowflake option.

Exam trap

The trap here is confusing SKIP_HEADER with other header-related options or assuming that a non-existent PARSE_HEADER parameter is valid.

40
Multi-Selecthard

A governance team is designing a strategy to classify and protect data across many databases in a Snowflake account. They want a scalable approach that applies protection consistently without editing each table definition manually. Which two capabilities should the team use to accomplish this goal? (Choose two.)

Select 2 answers
A.Grant the SECURITYADMIN role to all analysts so they can manage their own masking policies.
B.Use the ACCOUNT_USAGE.TAG_REFERENCES view to audit which columns carry governance tags.
C.Apply a separate masking policy to every sensitive column using ALTER TABLE for each column.
D.Enable Tri-Secret Secure to automatically classify and mask sensitive columns.
E.Create tags and associate masking policies with them, then apply the tags to columns across tables.
AnswersB, E

TAG_REFERENCES in the ACCOUNT_USAGE schema records tag assignments across the account, including the object, column, and tag involved. Governance teams query it to verify coverage, find untagged sensitive columns, and produce audit evidence. It complements tag-based masking by providing visibility into where tags are applied, which is essential for a scalable classification program.

Why this answer

Tag-based masking and tag reference auditing together form a scalable governance pattern. Associating masking policies with tags means protection follows the tag wherever it is applied, and TAG_REFERENCES provides the visibility needed to confirm coverage and identify gaps. Manual per-column policies and broad role grants do not scale, and encryption features address a different control objective.

Exam trap

The trap here is treating an encryption feature such as Tri-Secret Secure as a data classification and masking mechanism, when it protects data at rest rather than controlling query output.

41
MCQhard

A data engineer is using the Snowpipe REST API to ingest data from an external stage. They need to ensure that the pipe does not reprocess files that have already been loaded. Which mechanism does Snowpipe use to track which files have been processed?

A.A unique file naming convention enforced by the user
B.A metadata table in the INFORMATION_SCHEMA
C.A hash of the file stored in the stage metadata
D.A load history table maintained by Snowpipe
AnswerD

Snowpipe maintains an internal load history that records the filename and checksum of each file it has processed. When a new file notification is received, Snowpipe checks this history to avoid reprocessing files that have already been loaded. This mechanism ensures exactly-once ingestion per file, making it the correct answer.

Why this answer

Snowpipe uses an internal load history that records the filename and checksum of each ingested file. When a new file notification arrives, Snowpipe consults this history to determine if the file has already been processed. This prevents duplicate ingestion even if the same file is staged multiple times.

The other options do not provide this tracking capability.

Exam trap

The trap here is assuming that stage metadata or file naming prevents reprocessing, but Snowpipe's internal history is the authoritative source.

42
MCQmedium

A Snowflake user needs to query data that is stored in an external table pointing to Parquet files in an external stage. The user wants to optimize query performance by reducing the amount of data scanned. Which feature should the user leverage?

A.Create a materialized view on the external table
B.Use partition pruning by organizing the external files into a directory structure that reflects common filter columns
C.Define a clustering key on the external table
D.Enable the search optimization service on the external table
AnswerB

External tables in Snowflake can take advantage of partition pruning when the underlying files are organized in a hierarchical directory structure (e.g., by date or region). Snowflake automatically uses the partition columns from the path to prune files during query execution, reducing the amount of data scanned. This is a key optimization for external tables.

Why this answer

For external tables, Snowflake can prune partitions based on the directory structure of the external files. By organizing files into folders that correspond to common filter columns (e.g., year/month/day), queries with filters on those columns can skip irrelevant files, significantly reducing data scanned and improving performance.

Exam trap

The trap here is assuming that features like clustering or search optimization, which work on internal tables, also apply to external tables.

43
MCQhard

A Materialized View is created on a base table that experiences high churn (frequent inserts, updates, and deletes). What is the most likely impact of this configuration?

A.The Materialized View will become stale and return outdated results.
B.Virtual warehouse credits will be used for the background maintenance.
C.The cost of maintaining the view may exceed the query performance benefits.
D.The base table will be locked during the view's maintenance cycles.
AnswerC

Because high churn triggers frequent serverless background updates, the cumulative cost of these updates can be very high. If the query performance improvement is marginal or the view is not queried frequently, the total cost of ownership becomes inefficient compared to querying the base table directly.

Why this answer

Materialized views in Snowflake are maintained by a serverless background process. When the base table changes, the view must be updated to remain consistent. High churn on the base table leads to frequent maintenance tasks, which can result in significant serverless credit consumption, often making the view more expensive than the performance benefit it provides.

Exam trap

Test-takers frequently assume materialized views are always beneficial for performance, overlooking the heavy background serverless maintenance costs incurred when base tables have high churn.

44
MCQmedium

A company requires all data at rest within Snowflake to be encrypted using a customer-provided key. Which feature should they implement?

A.Always Encrypted.
B.Tri-Secret Secure.
C.Transparent Data Encryption (TDE).
D.Client-Side Encryption.
AnswerB

Tri-Secret Secure combines Snowflake-managed keys with customer-managed keys (CMK) stored in a key management service. This architecture ensures that data remains encrypted with keys that are under the customer's direct control, satisfying stringent compliance and data privacy requirements for sensitive organizational data stored in the cloud.

Why this answer

Tri-Secret Secure is the Snowflake feature that allows customers to manage their own encryption keys, providing an extra layer of security beyond Snowflake's standard managed keys. This is critical for highly regulated industries like finance or healthcare that require strict control over data encryption. By using their own keys, customers ensure that even if Snowflake infrastructure were compromised, the data remains inaccessible without the customer-held key materials.

Exam trap

Candidates often confuse Tri-Secret Secure with standard encryption-at-rest or external tokenization, failing to recognize that Tri-Secret Secure specifically involves customer-managed keys (CMK).

45
MCQmedium

A data engineer is loading a 5 TB compressed CSV file into a Snowflake table using the COPY INTO command. The file is stored in an external stage pointing to an Amazon S3 bucket. The engineer notices that the load is slower than expected and wants to improve performance. Which of the following actions is most likely to improve the load performance?

A.Use a larger file format that supports compression, such as Parquet.
B.Enable the VALIDATION_MODE parameter to speed up data validation.
C.Increase the size of the virtual warehouse used for the load.
D.Split the large CSV file into multiple smaller files and load them in parallel.
AnswerD

Snowflake loads data in parallel by assigning each file to a separate thread. A single large file cannot be parallelized within itself, so splitting it into multiple smaller files (e.g., 100-250 MB compressed) allows Snowflake to distribute the load across multiple compute resources, significantly improving throughput.

Why this answer

Snowflake's COPY INTO loads data in parallel by processing multiple files concurrently. When a single large file is loaded, it is handled by one thread, limiting throughput. Splitting the file into multiple smaller files enables Snowflake to use multiple threads and compute resources, thereby improving load performance.

Other options do not directly address the parallelism limitation.

Exam trap

The trap here is assuming that increasing warehouse size will always speed up data loading, but COPY INTO parallelism is driven by the number of files, not warehouse size.

46
Multi-Selectmedium

A data engineer needs to transform a variant column containing an array of objects into a relational format. Which TWO Snowflake features or functions are required to achieve this?

Select 2 answers
A.The FLATTEN function
B.The UNPIVOT clause
C.The LATERAL keyword
D.The PARSE_JSON function
E.The STRTOK_TO_ARRAY function
AnswersA, C

The FLATTEN table function is specifically designed to convert semi-structured data into a relational representation. It takes a VARIANT, OBJECT, or ARRAY and explodes it into multiple rows, providing columns for the index, key, and value of the nested elements, which is essential for flattening arrays.

Why this answer

To transform semi-structured data like arrays into individual rows, the FLATTEN function is used to explode the array elements. This is typically paired with the LATERAL keyword, which allows the FLATTEN function to reference columns from preceding tables in the FROM clause, effectively joining each array element back to its parent row.

Exam trap

Candidates often forget the LATERAL keyword. Without it, the FLATTEN function cannot correlate the exploded rows with the original columns from the source table.

47
MCQmedium

A data engineer is loading a batch of semi-structured JSON files from an external stage into a VARIANT column. They want the COPY INTO command to skip any file that contains malformed JSON without failing the entire load. Which COPY INTO option should they configure?

A.ON_ERROR = 'REPLACE'
B.ON_ERROR = 'SKIP_FILE'
C.ON_ERROR = 'CONTINUE'
D.ON_ERROR = 'ABORT_STATEMENT'
AnswerB

ON_ERROR = 'SKIP_FILE' instructs Snowflake to skip a file entirely if any error occurs while loading it, including malformed JSON. This prevents the entire COPY INTO operation from failing and allows other valid files to load. It matches the requirement to skip malformed files without aborting the load, making it the correct choice.

Why this answer

The ON_ERROR = 'SKIP_FILE' option tells Snowflake to skip a file entirely when any error occurs during loading, which includes malformed JSON. This allows the COPY INTO operation to continue processing other valid files without failing the entire statement. The other options either abort the load, skip only rows, or are not valid Snowflake syntax.

Exam trap

The trap here is confusing row-level error handling (CONTINUE) with file-level error handling (SKIP_FILE).

48
MCQmedium

How does Snowflake's architecture provide the ability to run multiple concurrent workloads without resource contention?

A.By using a single large warehouse for all workloads.
B.By deploying separate virtual warehouses for each workload.
C.By relying on the underlying cloud provider's hypervisor.
D.By implementing software-based resource queues in the storage layer.
AnswerB

Deploying separate virtual warehouses allows each workload to operate on its own dedicated compute resources. This ensures that no single query or workload can starve others of CPU or memory. Since each warehouse acts independently, the system maintains high performance for all concurrent processes, regardless of their individual resource demands.

Why this answer

Snowflake's multi-cluster warehouse architecture allows for complete isolation of compute resources. Each workload can be assigned to a specific virtual warehouse, ensuring that one workload's resource usage does not impact the performance of another. This decoupling is a cornerstone of the Snowflake AI Data Cloud, enabling organizations to handle diverse workloads—from heavy data engineering to real-time analytics—simultaneously without the risk of 'noisy neighbor' scenarios affecting user experience.

Exam trap

Candidates often assume that using a larger warehouse prevents contention. However, resource isolation is specifically achieved by assigning separate virtual warehouses to different workloads to prevent the noisy neighbor effect.

49
MCQmedium

A data engineer needs to load a CSV file into a Snowflake table. The file has a header row, fields are separated by commas, and string values are enclosed in double quotes. The engineer wants to ensure the header row is skipped and the string values are loaded without quotes. Which FILE_FORMAT option should be used to achieve this?

A.SKIP_HEADER = 1 and FIELD_DELIMITER = '"'
B.SKIP_HEADER = 1 and ESCAPE_UNENCLOSED_FIELD = '"'
C.SKIP_HEADER = 0 and FIELD_OPTIONALLY_ENCLOSED_BY = '"'
D.SKIP_HEADER = 1 and FIELD_OPTIONALLY_ENCLOSED_BY = '"'
AnswerD

SKIP_HEADER = 1 skips the first row of the file, which is the header. FIELD_OPTIONALLY_ENCLOSED_BY = '"' tells Snowflake that string values may be enclosed in double quotes, and the quotes are removed during loading. This combination correctly handles the file.

Why this answer

To load a CSV with a header and quoted strings, the file format must skip the header row and recognize the quote character as an optional enclosure. SKIP_HEADER = 1 handles the header, and FIELD_OPTIONALLY_ENCLOSED_BY = '"' ensures quotes are stripped from string values during loading. Other options either misinterpret the delimiter or fail to skip the header.

Exam trap

The trap here is confusing FIELD_OPTIONALLY_ENCLOSED_BY with FIELD_DELIMITER, or forgetting to skip the header row.

50
MCQeasy

A consumer wants to access a shared database from a provider. The provider has already created the share and granted the necessary privileges. What must the consumer do to access the shared data?

A.Grant the USAGE privilege on the share to a role in the consumer's account.
B.Create a database from the share using the CREATE DATABASE ... FROM SHARE command.
C.Use the ALTER SHARE command to add the consumer's account to the share.
D.Request the provider to grant SELECT on the shared objects directly to the consumer's role.
AnswerB

To access a share, the consumer must create a database from the share using CREATE DATABASE <name> FROM SHARE <provider_account>.<share_name>. This command creates a read-only database in the consumer's account that contains the shared objects. Once created, the consumer can grant privileges on the shared database to roles in their account and query the data.

Why this answer

The consumer must create a database from the share using CREATE DATABASE ... FROM SHARE. This creates a read-only database in the consumer's account.

The consumer then grants privileges on that database to their roles to allow users to query the data. The provider must have already added the consumer's account to the share.

Exam trap

The trap here is thinking the consumer can grant privileges on the share or that the provider can grant directly to the consumer's roles, but the consumer must first create a database from the share and manage access within their own account.

51
MCQeasy

What is the primary benefit of the Snowflake architecture's decoupling of storage and compute?

A.It allows data to be stored in multiple cloud regions simultaneously.
B.It enables independent scaling of storage and compute resources.
C.It automatically encrypts all data at rest and in transit.
D.It eliminates the need for virtual warehouses.
AnswerB

Decoupling allows users to scale storage to accommodate massive datasets while keeping compute clusters small, or conversely, to spin up large compute warehouses for short-term heavy processing on a small dataset, all without physical data movement or the need to resize entire infrastructure clusters at once.

Why this answer

The separation of storage and compute allows organizations to scale these resources independently based on demand. You can store petabytes of data without paying for compute, and you can spin up massive compute clusters to run complex analytics without needing to replicate or move your data. This architectural flexibility is a core differentiator, enabling cost-effective data warehousing and high-performance processing without the rigid constraints of traditional on-premises or monolithic cloud databases.

Exam trap

Candidates sometimes confuse the benefits of separation with 'shared-nothing' architectures. They may incorrectly attribute the benefit to data movement or replication rather than the ability to scale resources independently.

52
MCQeasy

Which object type in Snowflake is required to store a compiled masking policy before it can be applied to a table column?

A.A stored procedure.
B.A masking policy object.
C.A data masking role.
D.A secure function.
AnswerB

A masking policy is a first-class schema object in Snowflake. It defines the logic that determines whether data is returned as-is or masked based on the user's role. Once created, it remains dormant until explicitly assigned to a column, allowing for reusable security definitions across multiple tables.

Why this answer

In Snowflake, masking policies are independent, schema-level objects. Before a policy can be enforced on a column, it must be created using the 'CREATE MASKING POLICY' command. This object encapsulates the logic for transformation and the conditional access rules.

Once defined, the policy is then mapped to one or more columns via an 'ALTER TABLE' statement or during table creation, providing a modular approach to data governance.

Exam trap

Candidates often confuse the masking policy object with the table column itself. They assume applying the policy creates the object, rather than realizing the policy must exist independently beforehand.

53
MCQhard

A company is migrating from an on-premises Hadoop cluster to Snowflake. They are concerned about how Snowflake manages the lifecycle of micro-partitions and whether they need to manually 'defragment' the storage over time. How does Snowflake address this?

A.Users must run the 'VACUUM' command weekly to reclaim space from deleted rows.
B.Snowflake uses an immutable storage model where data is never updated in place.
C.The system automatically performs a full table rewrite every time a DML operation occurs.
D.Storage is managed by the underlying cloud provider's file system, which handles defragmentation.
AnswerB

By using immutable micro-partitions, Snowflake ensures that data blocks are never partially rewritten, which avoids fragmentation and corruption issues. This design also simplifies features like Time Travel and Zero-copy Cloning, as older versions of data are preserved as distinct, read-only files until they are no longer needed according to the account's retention policies.

Why this answer

Snowflake's storage layer is immutable, meaning micro-partitions are never modified in place. When data is updated or deleted, Snowflake creates new micro-partitions and marks the old ones for Time Travel and Fail-safe. This architecture eliminates the need for manual defragmentation, as the system continuously manages the storage and metadata to maintain optimal performance and data integrity.

Exam trap

Candidates often assume Snowflake requires manual maintenance like vacuuming or defragmenting, applying their knowledge of legacy databases like PostgreSQL or Hadoop to Snowflake.

54
MCQmedium

Which Snowflake feature allows for secure, direct communication between a customer's virtual private cloud (VPC) and the Snowflake service without using the public internet?

A.Snowflake Data Exchange
B.Snowflake Private Link
C.SnowSQL Proxy Configuration
D.Network Policy Whitelisting
AnswerB

Snowflake Private Link (based on AWS PrivateLink or Azure Private Link) provides private connectivity to Snowflake by ensuring that all traffic stays within the cloud provider's network. This eliminates exposure to the public internet and simplifies the network architecture for highly regulated industries like finance or healthcare.

Why this answer

For organizations with strict security and compliance requirements, avoiding the public internet for data transit is essential. Snowflake supports private connectivity options on major cloud providers to ensure that data remains within the cloud provider's network backbone, significantly reducing the attack surface for potential data interception.

Exam trap

Candidates often confuse Snowflake Private Link with general network policies or external stages, missing its specific VPC connectivity purpose.

55
MCQhard

A provider shares a secure view named SALES_VIEW with a consumer. The view references a table in the provider's database. The provider later renames the underlying table. What is the impact on the consumer's access to SALES_VIEW?

A.The consumer must recreate the database from the share to see the renamed table through the view.
B.The consumer loses access because the view definition becomes invalid and must be re-created.
C.The consumer's access is unaffected because the view continues to resolve to the renamed table.
D.The consumer sees an error only if the renamed table is also granted directly in the share.
AnswerC

Snowflake views bind to underlying objects by internal object ID rather than by name. Renaming the base table does not break the view's definition, so the shared secure view remains valid and the consumer retains access. This is the expected behavior and the reason the rename has no impact on the consumer.

Why this answer

Views in Snowflake reference base objects by internal object identifiers, not by name. Renaming a table therefore does not invalidate dependent views, and a shared secure view continues to function for the consumer. The consumer's access remains intact without any action on either side, which is the key behavior tested here.

Exam trap

The trap here is assuming that renaming a base table breaks a dependent view, when Snowflake resolves views through internal object IDs rather than by name.

56
MCQmedium

A query is experiencing performance degradation, and the Query Profile indicates 'Remote Disk Spilling'. Which action is the most direct solution to resolve this specific bottleneck?

A.Enable the Search Optimization Service on the table.
B.Scale up the virtual warehouse to a larger size.
C.Implement a clustering key on the table's join columns.
D.Create a Materialized View for the underlying query.
AnswerB

Scaling up doubles the local memory and SSD storage at each increment, allowing the warehouse to handle larger intermediate datasets locally. This prevents the system from needing to spill data to remote storage, which is the primary cause of the performance degradation observed when local resources are insufficient.

Why this answer

Remote disk spilling occurs when the local SSD storage of a virtual warehouse is completely exhausted, forcing Snowflake to write intermediate data to slower remote cloud storage. This usually happens during large sorts, joins, or aggregations. Increasing the warehouse size provides more memory and local storage, ensuring that large intermediate result sets can be processed without hitting the high-latency remote storage layer.

Exam trap

Candidates often select 'scale out' (multi-cluster warehouses) to fix spilling, not realizing that concurrency scaling does not provide more memory to a single heavy query.

57
MCQhard

A data engineer runs a query that performs a large aggregation over a table with billions of rows. The Query Profile shows that the Aggregate operator is spilling to local disk. The engineer wants to eliminate the spilling and improve performance. Which action is most likely to achieve this?

A.Enable the USE_CACHED_RESULT parameter to reuse previous aggregation results.
B.Add a cluster key on the group-by columns to reduce the number of groups.
C.Rewrite the query to use a window function instead of a GROUP BY aggregation.
D.Increase the warehouse size to provide more memory for the aggregation.
AnswerD

Spilling to local disk occurs when the aggregation's working set exceeds the memory available on the warehouse nodes. Increasing the warehouse size adds more memory per node, which can allow the aggregation to be performed entirely in memory. This directly addresses the root cause of spilling and can eliminate the performance penalty associated with disk I/O.

Why this answer

Spilling to local disk indicates that the aggregation operator's memory footprint exceeds the available memory on the warehouse. Increasing the warehouse size provides more memory per node, allowing the aggregation to complete in memory. This is the most direct solution because it addresses the resource constraint.

Clustering, query rewriting, and result caching do not increase memory and therefore do not resolve the spilling condition.

Exam trap

The trap here is thinking that clustering or query rewriting can reduce memory usage for an aggregation, when only additional memory or reduced data volume can prevent spilling.

58
MCQeasy

A data engineer needs to transform semi-structured JSON data stored in a VARIANT column into a relational table with separate columns for each attribute. The JSON contains nested objects and arrays. Which Snowflake feature should the engineer use to flatten the arrays and extract the nested attributes in a single SQL statement?

A.Create a materialized view over the VARIANT column and query it with standard SQL.
B.Use the TRY_CAST function to convert the VARIANT to a string and then use string functions to parse the JSON.
C.LATERAL FLATTEN with the INPUT => column and PATH => 'nested_array' arguments, combined with the VALUE and THIS keywords.
D.Use the PARSE_JSON function to convert the VARIANT into a relational table automatically.
AnswerC

LATERAL FLATTEN is specifically designed to explode arrays and nested objects within a VARIANT column into multiple rows. Using INPUT to specify the VARIANT column, PATH to target the nested array, and VALUE or THIS to reference the exploded elements allows the engineer to join the flattened output back to the original row and extract attributes with the colon operator. This is the standard Snowflake approach for relationalizing semi-structured data.

Why this answer

LATERAL FLATTEN is the primary Snowflake construct for expanding arrays within a VARIANT column. It produces one row per element in the array, and by using the VALUE or THIS keyword, the engineer can access the element's attributes. Combining this with a SELECT that references the original table's columns and the flattened output allows a single SQL statement to transform nested JSON into a relational result set.

Exam trap

The trap here is confusing PARSE_JSON, which only converts strings to VARIANT, with FLATTEN, which actually explodes arrays into rows.

59
MCQmedium

A data administrator needs to identify which users have failed to log in successfully over the last 30 days due to authentication errors. Which Snowflake object should they query?

A.The ACCESS_HISTORY view.
B.The LOGIN_HISTORY view.
C.The QUERY_HISTORY view.
D.The SESSIONS view.
AnswerB

LOGIN_HISTORY records all login attempts, including timestamps, usernames, client IP addresses, and the success status of the request. It is the definitive source for auditing authentication failures. Accessing this view requires the ACCOUNTADMIN role or a role with specific privileges granted to view account-level metadata.

Why this answer

The LOGIN_HISTORY table function in the ACCOUNT_USAGE schema provides a detailed audit trail of all connection attempts to the account. By filtering for the IS_SUCCESS column set to 'NO' and specifying the timeframe, the administrator can effectively monitor for potential brute-force attempts or configuration errors. This is a critical component for maintaining a robust security posture and ensuring compliance with organizational access monitoring policies.

Exam trap

Candidates often confuse ACCOUNT_USAGE views with INFORMATION_SCHEMA views, failing to realize INFORMATION_SCHEMA has limited retention periods.

60
MCQmedium

When a query is submitted to Snowflake, which component is responsible for retrieving the metadata required to build the query execution plan?

A.The Virtual Warehouse
B.The Cloud Services Layer
C.The Database Storage Layer
D.The Query Results Cache
AnswerB

The Cloud Services layer includes the metadata repository that manages table definitions, micro-partition locations, and data statistics. This layer is responsible for interpreting the SQL request and using this metadata to generate an efficient execution plan before delegating the physical processing tasks to the chosen virtual warehouse.

Why this answer

The Cloud Services layer maintains the metadata store, which contains information about table structures, file locations (in object storage), and statistics. When a user runs a query, the Cloud Services layer queries this metadata to optimize the execution path. This centralized management ensures that the compute nodes only receive instructions on which files to process, significantly reducing overhead and improving query performance by pruning unnecessary data before it is ever accessed.

Exam trap

Candidates often incorrectly assume that the Virtual Warehouse retrieves metadata, failing to realize that the Cloud Services layer manages the metadata store independently of the compute resources.

61
MCQmedium

Which property of the FILE_FORMAT object should be adjusted if a CSV file uses a semicolon (;) instead of a comma to separate values?

A.RECORD_DELIMITER
B.FIELD_DELIMITER
C.FIELD_OPTIONALLY_ENCLOSED_BY
D.ESCAPE_CHARACTER
AnswerB

The FIELD_DELIMITER parameter specifies the character that separates individual columns within a row. By setting this to ';', Snowflake can correctly identify the boundaries of each field in a semicolon-delimited file, ensuring that the data is correctly mapped to the target table's columns.

Why this answer

File formats in Snowflake are highly granular, allowing users to define the exact structure of their source data. Correctly identifying the delimiter is the most basic requirement for successful parsing. Snowflake provides specific parameters for field and record delimiters to accommodate a wide variety of data export formats.

Exam trap

Candidates often confuse FIELD_DELIMITER with RECORD_DELIMITER or ESCAPE_CHAR. They fail to distinguish between the character separating columns and the character separating rows or escaping data.

62
MCQeasy

A provider wants to share a database with a consumer account. After creating the share and granting the necessary privileges, which command must the provider run to make the share available to the consumer account?

A.ALTER ACCOUNT consumer_account ADD SHARE share_name;
B.ALTER SHARE share_name ADD ACCOUNT = consumer_account_locator;
C.CREATE SHARE share_name WITH ACCOUNT = consumer_account;
D.GRANT USAGE ON SHARE share_name TO ACCOUNT consumer_account;
AnswerB

To make a share available to a specific consumer account, the provider runs ALTER SHARE ... ADD ACCOUNT using the consumer's account locator or organization-qualified account name. This creates the share relationship. Without this step, the consumer cannot see or mount the share even if privileges are granted. This is the fundamental account-to-account sharing command.

Why this answer

The provider makes a share available to a consumer by adding the consumer's account to the share with ALTER SHARE ... ADD ACCOUNT. This is the standard account-to-account sharing step.

Other commands either invent syntax, reverse the direction, or misunderstand how shares are granted. Once the account is added, the consumer can create a database from the share.

Exam trap

The trap here is thinking that shares are granted to accounts like privileges, when in fact accounts are added to shares using ALTER SHARE ... ADD ACCOUNT.

63
MCQeasy

A user runs a query that was executed by another user 10 minutes ago, and the underlying data has not changed. The query returns results instantly without using a virtual warehouse. Which Snowflake feature explains this behavior?

A.The metadata cache in the Cloud Services layer.
B.The materialized view automatically created for the query.
C.The local disk cache on the virtual warehouse.
D.The query result cache stored in the Cloud Services layer.
AnswerD

The query result cache in Cloud Services stores the results of every query for 24 hours. If an identical query is run and the underlying data has not changed, Snowflake returns the cached result without provisioning a warehouse. This explains the instant response and zero warehouse usage, as the cache is independent of virtual warehouses.

Why this answer

The query result cache is a Cloud Services feature that persists query results for 24 hours. When an identical query is re-executed and the underlying data remains unchanged, Snowflake serves the cached result directly, bypassing warehouse computation and delivering sub-second response times.

Exam trap

The trap here is confusing the query result cache with the warehouse local disk cache, which requires a running warehouse and stores data, not results.

64
MCQhard

A data engineer loads a batch of records into a table and then runs a query that filters on a column with a high-cardinality value. The query profile shows partition pruning eliminated most micro-partitions, but the query still scans many rows within the surviving partitions. The table has never been clustered. Which characteristic of Snowflake micro-partitions best explains why pruning was effective at the partition level yet still left many rows to scan?

A.Micro-partitions are compressed and encrypted, so the optimizer cannot read metadata until the files are decompressed on the warehouse.
B.Micro-partitions are immutable and therefore require a full table scan whenever a filter column is not the clustering key.
C.Micro-partitions are immutable and store columnar data, so pruning uses min/max metadata while row-level filtering still requires reading surviving partitions.
D.Micro-partitions are hash-distributed across compute nodes, so pruning depends on which node holds the relevant hash bucket.
AnswerC

Micro-partitions are immutable columnar storage units that overlap in value ranges. Pruning uses per-column min/max metadata to skip partitions that cannot contain matching values, but within a surviving partition the columnar data must still be scanned for matching rows. This explains effective partition-level pruning with residual row scanning.

Why this answer

Micro-partitions are immutable columnar storage units that Snowflake automatically maintains with per-column metadata, including min/max values. That metadata lets the optimizer prune partitions that cannot satisfy a filter even on unclustered tables. However, pruning is coarse: once a partition survives, its columnar data must be scanned for matching rows, which is why residual row scanning remains and why clustering can further improve pruning.

Exam trap

The trap here is assuming that because a table is unclustered or because micro-partitions are immutable, pruning cannot occur, when in fact automatic metadata enables pruning and immutability only affects how data is rewritten.

65
MCQhard

A data engineer runs a query that joins a large fact table with a small dimension table. The Query Profile shows a Join operation with an exploding number of rows and significant spilling to remote disk. The engineer notices the join condition uses a function on the join key of the large table. Which action is most likely to improve performance?

A.Add a clustering key on the join column of the large table.
B.Rewrite the join to avoid applying a function to the join key of the large table.
C.Increase the size of the virtual warehouse to a larger multi-cluster warehouse.
D.Enable the USE_CACHED_RESULT parameter for the session.
AnswerB

Applying a function to the join key of the large table prevents the optimizer from using an efficient join method and may cause a Cartesian-like explosion. By rewriting the join to compare the raw column values directly, the optimizer can choose a hash join and leverage micro-partition pruning. This directly addresses the root cause of the row explosion and spilling.

Why this answer

The function on the join key prevents the optimizer from using an efficient join strategy and can cause a row explosion. Rewriting the join to compare raw columns allows hash join and pruning, directly fixing the root cause. Larger warehouses, clustering on the raw column, or caching do not address the expression in the join predicate.

Exam trap

The trap here is assuming that scaling up the warehouse or adding clustering will solve join performance issues, when the real problem is the function applied to the join key.

66
MCQhard

A security administrator has created a masking policy that replaces the value of a column with a SHA2 hash for users without the role 'HR_ROLE'. The policy is applied to the 'SSN' column of the 'EMPLOYEES' table. A user with the role 'ANALYST_ROLE' queries the table and sees the hashed values. However, when the same user runs a query that includes the 'SSN' column in a WHERE clause, the query returns no results even though matching records exist. What is the most likely cause of this behavior?

A.The user lacks the SELECT privilege on the table, so the query returns no rows.
B.The masking policy is applied to the column, but the user does not have the privilege to see the original values, so the WHERE clause is evaluated against the masked values, which do not match the search condition.
C.The masking policy is not applied to the WHERE clause, so the original values are used for filtering, but the user cannot see them, resulting in an error.
D.The user's role has not been granted the USAGE privilege on the masking policy, so the policy is bypassed and the original values are used, but the user cannot see them due to column-level security.
AnswerB

Masking policies are applied at query runtime before any filtering occurs. When a user without the unmasking role queries the column, they see the masked value. If they then use that masked value in a WHERE clause, the comparison is against the masked data, not the original. This can lead to unexpected empty results if the search term is the original value.

Why this answer

The correct answer is that the WHERE clause is evaluated against masked values. Masking policies transform data at query time, so any filtering or joining on the masked column uses the masked representation. This is a critical concept: masking does not prevent the column from being used in predicates, but it changes the data used for those predicates, which can lead to unexpected results if the user expects to filter on original values.

Exam trap

The trap here is assuming that masking policies only affect the output of a query and not the evaluation of predicates like WHERE clauses, leading to confusion when queries return no rows.

67
MCQmedium

A company needs to ensure that data stored in a Snowflake table is encrypted at rest with keys that the company manages and rotates independently. Which Snowflake feature should be configured?

A.Tri-Secret Secure with customer-managed keys.
B.Periodic rekeying of Snowflake-managed keys.
C.Client-side encryption before loading data into Snowflake.
D.Enabling AES-256 encryption on the virtual warehouse.
AnswerA

Tri-Secret Secure combines a Snowflake-managed key with a customer-managed key in a composite master key. This allows the customer to control key rotation and revoke access by removing their key. It meets the requirement for customer-managed encryption at rest with independent rotation, as the customer manages their key in a cloud provider's KMS.

Why this answer

Tri-Secret Secure allows customers to add their own key from a cloud provider's KMS to Snowflake's encryption hierarchy. The customer can rotate or revoke their key at any time, giving them control over data access. This satisfies the need for customer-managed keys with independent rotation.

Exam trap

The trap here is assuming that Snowflake's automatic key rotation or client-side encryption meets the requirement for customer-managed keys with independent rotation.

68
MCQmedium

A security administrator needs to ensure that a set of sensitive columns in an existing table are automatically masked for all users except those with the role 'HR_ADMIN'. The masking must be applied without modifying the underlying data. Which Snowflake feature should be used?

A.Secure Views
B.Object Tagging
C.Row Access Policies
D.Dynamic Data Masking
AnswerD

Dynamic Data Masking uses masking policies to obfuscate column values at query time based on the user's role. It does not alter the stored data. Applying a masking policy to the sensitive columns and granting the policy's exemption to HR_ADMIN achieves the requirement without data changes.

Why this answer

Dynamic Data Masking is the correct feature because it applies masking policies to columns, dynamically masking data based on the user's role at query time without altering stored data. It provides fine-grained control and is designed for this exact scenario of protecting sensitive columns from unauthorized users.

Exam trap

The trap here is confusing object tagging with data masking; tags classify data but do not enforce masking.

69
MCQeasy

A data analyst runs a query that joins a large fact table with a small dimension table. The query is slow, and the Query Profile shows a lot of data movement across the warehouse. Which Snowflake feature is designed to improve performance by automatically broadcasting small tables to all nodes in the warehouse?

A.Result Caching
B.Search Optimization Service
C.Automatic Clustering
D.Broadcast Join
AnswerD

Snowflake's optimizer can choose a broadcast join when one table is small enough, sending a copy of that table to all nodes that hold the larger table's data. This avoids shuffling the large table and reduces data movement. The Query Profile would show a Broadcast operation. This is a built-in optimization that automatically applies based on statistics and table size.

Why this answer

The optimizer may choose a broadcast join when one side of the join is small, sending that table to all nodes to avoid shuffling the large table. This reduces data movement and speeds up the join. The Query Profile would indicate a Broadcast operation.

Other features like Result Caching, Automatic Clustering, and Search Optimization Service address different performance aspects and do not directly control join data movement.

Exam trap

The trap here is confusing features that improve overall query performance with the specific join optimization that handles small tables by broadcasting them.

70
MCQmedium

Refer to the exhibit. When the COPY INTO command is executed, which field delimiter will Snowflake use to parse the files located in the 'data/' folder of the stage?

A.The pipe character (|) because it was defined first in the CREATE STAGE command.
B.The comma character (,) because the FILE_FORMAT in the COPY command overrides the stage default.
C.Snowflake will return an error because the delimiters in the stage and the COPY command conflict.
D.Snowflake will attempt to auto-detect the delimiter, ignoring both specified values.
AnswerB

Snowflake follows a hierarchy for file format options. The options specified in the COPY INTO command have the highest priority and override any settings defined on the stage object. This design allows for maximum flexibility, enabling a single stage to hold files with slightly different formats that can be handled by different COPY statements.

Why this answer

In Snowflake, if a FILE_FORMAT is specified in both the stage definition and the COPY INTO statement, the options provided in the COPY INTO statement take precedence. This allows developers to define a general default format for a stage while still having the flexibility to override specific parameters for individual load jobs without altering the permanent stage object itself.

Exam trap

Candidates often assume that the stage-level file format is immutable or takes precedence, failing to realize that parameters defined within the COPY INTO command always override stage defaults.

71
MCQhard

Refer to the exhibit. A user with the role 'ANALYST_ROLE' cannot see tables inside the 'sales_db.public' schema despite having 'USAGE' on the database. What is the most likely reason for this access issue?

A.The user needs the 'OWNERSHIP' privilege on the schema.
B.The user lacks the 'USAGE' privilege on the schema.
C.The database is not set as the default database for the user.
D.The user is missing the 'MANAGE GRANTS' privilege.
AnswerB

Access to a database does not grant implicit access to its schemas. To browse or query objects within a schema, a user must have the USAGE privilege on that specific schema. Without this privilege, the database contents will appear empty even if the database is accessible.

Why this answer

In Snowflake, the USAGE privilege on a database is insufficient to view objects within schemas; the user must also be granted USAGE on the schema and SELECT on the specific tables or views. This multi-layered privilege requirement is a core component of Snowflake's security model, preventing accidental data exposure by requiring explicit grants at every level of the object hierarchy, from the database down to the individual object.

Exam trap

Candidates incorrectly assume that having USAGE on a database automatically grants visibility into its schemas and tables, overlooking Snowflake's strict requirement for explicit USAGE grants at the schema level.

72
MCQmedium

Refer to the exhibit. A provider has executed these commands to prepare data for a consumer. What is the final mandatory step required before the consumer can access the 'campaign_stats' table?

A.The provider must execute: ALTER SHARE marketing_share ADD ACCOUNTS = <consumer_account_locator>;
B.The consumer must execute: CREATE DATABASE marketing_data FROM SHARE <provider_account>.marketing_share;
C.The provider must refresh the metadata of the 'marketing_share' object using the 'COMMIT SHARE' command.
D.The provider must grant the 'IMPORTED PRIVILEGES' role to the share for the campaign_stats table.
AnswerA

The 'ALTER SHARE' command with the 'ADD ACCOUNTS' clause is the definitive step that authorizes a specific consumer account to view and mount the share. Until this command is executed, the share remains private to the provider. This step completes the handshake by identifying exactly which external Snowflake accounts are permitted to access the data.

Why this answer

After creating a share and granting the necessary object privileges (Database, Schema, and Table/View), the share must be associated with one or more consumer accounts. Without this step, the share exists in the provider account but is not visible or accessible to any external entity. The ALTER SHARE command is used to add the consumer's account to the share's distribution list.

Exam trap

Candidates often select database or table grant commands, assuming object privileges automatically expose the share to consumer accounts, forgetting that explicitly adding consumer account identifiers via ALTER SHARE is mandatory.

73
MCQhard

A data governance team wants to classify data in a table using tags. They create a tag 'PII' and apply it to the 'ssn' column. Later, they need to ensure that only users with the 'PII_READER' role can see the actual values, while all other users see a masked value. They decide to use a tag-based masking policy. Which statement accurately describes how tag-based masking policies work in Snowflake?

A.A tag-based masking policy is only enforced when the tag is set on the column and the user querying the data has the APPLY TAG privilege on the tag.
B.A tag-based masking policy is applied to a tag, and any column with that tag automatically inherits the masking policy, provided the tag is set at the column level and the policy is attached to the tag.
C.A tag-based masking policy requires that the tag be applied at the table level, and the policy then masks all columns in the table that contain sensitive data.
D.A tag-based masking policy can only be used with tags that are defined at the account level, not at the schema or database level.
AnswerB

Tag-based masking policies are attached to a tag object. When a column is assigned that tag, the masking policy associated with the tag is automatically applied to the column. This allows centralized management: changing the policy on the tag affects all tagged columns. The policy must be attached to the tag using ALTER TAG ... SET MASKING POLICY, and the tag must be set on the column.

Why this answer

Tag-based masking policies provide a scalable way to protect sensitive data by associating a masking policy with a tag. When a column is tagged, the policy automatically applies. This decouples the masking logic from individual column alterations.

The policy attached to the tag defines the masking condition, often using IS_ROLE_IN_SESSION to allow specific roles to see unmasked data. This approach simplifies governance across many tables and columns.

Exam trap

The trap here is confusing the APPLY TAG privilege with the enforcement of tag-based masking, when enforcement is automatic once the tag and policy are linked.

74
MCQeasy

A consumer account has created a read-only database named SHARED_SALES from a provider's share and now wants to combine the shared tables with its own local table, LOCAL_REGIONS, in a single query. Which statement about this operation is accurate?

A.The consumer cannot join them because shared databases exist in a separate, isolated storage layer that cannot be referenced alongside local tables.
B.The consumer can join them only if the provider grants SELECT on the local table through the share.
C.The consumer must first clone the shared tables into its own database before any join with local data is possible.
D.The consumer can join SHARED_SALES tables with LOCAL_REGIONS because the shared database is mounted as a normal read-only database in the consumer account.
AnswerD

Once a consumer creates a database from a share, that database behaves like any other database for read operations. The consumer can join shared tables with local tables in the same query, subject to USAGE privileges on both. Shared objects are read-only, but reading across databases in one statement is fully supported.

Why this answer

A shared database created from a share is a read-only database in the consumer account, and read-only status does not prevent it from being queried alongside local objects. Consumers routinely join shared tables with their own data, as long as their role holds the needed privileges on both sides of the join.

Exam trap

The trap here is assuming that read-only shared data cannot participate in joins with local tables, when read-only simply means the consumer cannot modify the shared objects.

75
MCQhard

A consumer account has created a database from a share provided by a partner. The consumer wants to ensure that when the provider adds new tables to the share, those tables become available in the consumer's shared database without any manual intervention. Which statement accurately describes the behavior of shared databases in Snowflake?

A.The consumer must recreate the shared database to see new tables added by the provider.
B.New tables added to the share by the provider are automatically available in the consumer's shared database.
C.The consumer must grant SELECT on the new tables to their own roles before they can be queried.
D.The consumer must run ALTER DATABASE ... REFRESH to pull new objects from the share.
AnswerB

Shared databases in Snowflake are dynamic. When a provider grants SELECT on a new table to a share, that table immediately becomes visible and queryable in the consumer's shared database. No action is required from the consumer. This automatic synchronization is a key benefit of Snowflake Data Sharing, enabling real-time access to provider data without manual refreshes or recreation.

Why this answer

Shared databases are automatically updated when the provider adds new objects to the share. The consumer does not need to refresh, recreate, or grant additional privileges. The provider's grant of SELECT on a new table to the share makes it immediately available in the consumer's shared database.

This real-time propagation is a fundamental characteristic of Snowflake Data Sharing.

Exam trap

The trap here is thinking that shared databases require manual refresh or recreation to see new objects, when in fact they are automatically synchronized.

Page 1 of 4

Page 2

All pages