Courseiva

SnowPro Core (COF-C03) — Questions 226–280

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

Page 3

Page 4 of 4

226
MCQmedium

A data provider wants to share a subset of data with a specific consumer while ensuring the consumer cannot see any other tables in the same database. What is the most secure and efficient method to achieve this?

A.Grant usage on the entire database to the consumer's role.
B.Create a shared database and grant access to the base tables.
C.Use a Secure View in a dedicated share-ready schema.
D.Enable Secure Data Sharing and grant SELECT on all tables.
AnswerC

Secure Views are specifically optimized to hide internal metadata and query structures from unauthorized users. By placing the view in a dedicated schema, the provider enforces strict isolation, ensuring the consumer only interacts with the specific subset defined by the view logic without discovering other database objects.

Why this answer

Secure Views are essential for sharing specific data subsets because they hide the underlying query logic and schema structure from the consumer. By using a Secure View, the provider maintains granular control over column and row visibility, ensuring data privacy across account boundaries. This approach prevents unauthorized metadata discovery, which is critical in multi-tenant data sharing environments where isolation between different business units or external partners must be strictly maintained for compliance.

Exam trap

Many candidates mistakenly select standard views or table duplication, forgetting that standard views expose underlying metadata and schema structures, violating isolation and security requirements.

227
MCQmedium

A developer is performing a large data load using the COPY INTO command. The load is taking longer than expected. Which action should be taken to optimize this load?

A.Reduce the size of the virtual warehouse.
B.Split large files into smaller, equal-sized chunks.
C.Change the file format to JSON.
D.Disable auto-clustering on the target table.
AnswerB

Snowflake achieves high-performance loading by parallelizing the execution of the COPY command across multiple nodes. By breaking down large files into smaller, optimally sized files (ideally 100MB to 250MB), the process can distribute the workload more effectively across the available compute cluster nodes, resulting in much faster load completion.

Why this answer

Optimizing bulk data loads involves ensuring the data is split into appropriately sized files to maximize parallelism during the ingestion process. Snowflake’s COPY command can leverage multiple warehouse nodes if the input files are partitioned effectively. By ensuring that the files are roughly 100MB to 250MB each, the load process can be distributed across the available nodes in the virtual warehouse, leading to significant reductions in the overall time required to complete the load.

Exam trap

Candidates frequently suggest increasing the warehouse size to speed up the load. While this helps, the most fundamental optimization for COPY INTO is ensuring file sizes enable maximum parallel processing.

228
MCQeasy

A data engineer needs to transform a table by unpivoting columns Q1, Q2, Q3, Q4 into rows with a quarter label and sales amount. Which Snowflake SQL construct is designed for this task?

A.LATERAL FLATTEN
B.PIVOT
C.UNPIVOT
D.ARRAY_AGG
AnswerC

UNPIVOT is specifically designed to transform columns into rows, converting a wide table into a long format. It takes a set of columns and produces one row per column per original row, along with a label column and a value column. This matches the requirement to unpivot Q1 through Q4 into quarter labels and sales amounts.

Why this answer

The UNPIVOT operator in Snowflake is the correct tool for converting columns into rows. It takes a list of columns and produces a result set with one row per column per original row, including a label column and a value column. This is exactly what is needed to transform Q1, Q2, Q3, Q4 into quarter labels and sales amounts.

Exam trap

The trap here is confusing PIVOT and UNPIVOT; PIVOT goes from rows to columns, while UNPIVOT goes from columns to rows.

229
MCQeasy

What is the purpose of the PURGE = TRUE option in a COPY INTO command?

A.It deletes all records from the target table before starting the load.
B.It removes data files from the stage after they are successfully loaded.
C.It clears the Snowflake metadata cache to allow for a full reload of the data.
D.It removes only the files that failed to load due to formatting errors.
AnswerB

When PURGE is set to TRUE, Snowflake automatically deletes the source files from the internal or external stage once the COPY command completes successfully. This is a convenient way to clean up staging areas without needing a separate manual or scripted step to delete files.

Why this answer

The PURGE parameter provides an automated way to manage the lifecycle of files in a stage. In many workflows, once a file has been successfully loaded into Snowflake, it is no longer needed in the staging area. Automating the deletion helps maintain a clean environment and can reduce storage costs in internal stages.

Exam trap

Candidates mistakenly believe PURGE = TRUE deletes the target table or the stage itself. It only targets the specific files processed during that single COPY command execution.

230
MCQeasy

Which technique is recommended to improve the performance of a query that must frequently filter data based on values within a VARIANT column containing JSON data?

A.Convert the JSON into a single large string and use LIKE operators.
B.Create a separate table for every key-value pair in the JSON.
C.Materialize frequently used JSON keys into separate relational columns.
D.Disable the use of the result cache for all JSON-based queries.
AnswerC

By extracting common JSON keys into standard relational columns (either during ingestion or via a view/dynamic table), Snowflake can better utilize micro-partition pruning. This allows the query engine to skip data more effectively, resulting in faster performance for filters on those specific fields.

Why this answer

Querying semi-structured data is efficient in Snowflake, but performance can be further enhanced by creating 'functional' elements. Since Snowflake micro-partitions store VARIANT data in a columnar fashion, extracting common fields into their own relational columns allows the engine to use standard pruning and statistics more effectively.

Exam trap

Candidates often suggest using more compute resources or caching, failing to realize that materializing keys into relational columns is the best practice for optimizing JSON query performance.

231
Multi-Selecteasy

Which TWO of the following tasks are performed by the Snowflake Cloud Services layer?

Select 2 answers
A.Executing the actual DML operations and data processing tasks.
B.Storing the raw data files in micro-partitions within cloud storage.
C.Managing user authentication and access control for the account.
D.Optimizing and compiling SQL queries for execution.
E.Providing the physical hardware resources for the cloud environment.
AnswersC, D

The Cloud Services layer is responsible for verifying user identities and enforcing security policies. It ensures that only authorized users can connect to the Snowflake environment and that they only have access to the data and objects permitted by their roles. This centralized security model is foundational to Snowflake's architecture.

Why this answer

The Cloud Services layer acts as the 'brain' of Snowflake, managing the overall state of the system and coordinating activities. It handles tasks that do not require heavy computational power, such as security, metadata management, and query optimization. By centralizing these functions, Snowflake ensures consistent governance and performance across all virtual warehouses and storage components.

Exam trap

Candidates often confuse the Cloud Services layer with the Compute layer, incorrectly attributing query execution or data processing tasks to the 'brain' of the system rather than the virtual warehouses.

232
MCQeasy

Which function should be used to transform a single row containing a semi-structured VARIANT column with an array of objects into multiple individual rows?

A.PARSE_JSON
B.OBJECT_CONSTRUCT
C.FLATTEN
D.STRIP_NULL_VALUE
AnswerC

The FLATTEN function takes a semi-structured column (like an array or object) and explodes it into multiple rows. Each element of the array becomes its own row in the result set, which can then be queried using standard SQL, making it the standard tool for unnesting data.

Why this answer

Transforming semi-structured data is a core capability of Snowflake, allowing users to convert nested JSON or arrays into a relational format. The FLATTEN function is specifically designed for this purpose, enabling data analysts to join the parent row with its child elements, which is essential for reporting and traditional SQL analysis.

Exam trap

Candidates often confuse FLATTEN with PARSE_JSON or GET. While those functions access data, only FLATTEN is specifically designed to transform nested arrays into a relational set of rows.

233
MCQmedium

What is the primary function of the 'SECURITYADMIN' role in Snowflake's RBAC model?

A.Creating and managing virtual warehouses.
B.Managing access control, including users and roles.
C.Granting ownership of data objects to users.
D.Monitoring account-level credit consumption.
AnswerB

The SECURITYADMIN role is designed to handle all aspects of user and role management, including creating roles, granting them to users, and managing privileges. It is the primary vehicle for implementing the organization's security and access control policies in compliance with the principle of least privilege.

Why this answer

The SECURITYADMIN role is dedicated to the management of users, roles, and grants. By separating administrative duties into distinct roles like SECURITYADMIN (for access) and SYSADMIN (for objects), Snowflake enables a clear separation of concerns. This is a critical governance practice that prevents a single individual from having both the ability to create objects and the ability to assign permissions to those objects, thereby reducing the risk of unauthorized access.

Exam trap

Candidates often confuse SECURITYADMIN with SYSADMIN, incorrectly believing that SECURITYADMIN creates physical objects like warehouses and databases rather than managing users, roles, and privileges.

234
MCQmedium

A provider wants to share data with a consumer account, but the consumer's account is in a different Snowflake region. The provider's data is in the US West (Oregon) region, and the consumer is in the EU (Frankfurt) region. The provider needs the consumer to access the data with low latency. Which Snowflake feature should the provider use?

A.Create a direct share and add the consumer account; Snowflake automatically replicates the data to the consumer's region.
B.Use database replication to create a replica of the database in the consumer's region, then share the replica with the consumer.
C.Configure a private data exchange and add the consumer; data exchanges replicate data to all member regions automatically.
D.Create a listing on the Snowflake Marketplace and have the consumer request it; Marketplace listings are always served from the consumer's region.
AnswerB

Snowflake supports replicating databases across regions and accounts. The provider can create a secondary database in the consumer's region, keep it synchronized with the primary, and then create a share on the secondary database. The consumer mounts the share from their own region, achieving low-latency access. This is the standard approach for cross-region sharing with performance requirements.

Why this answer

Cross-region sharing with low latency requires the data to be present in the consumer's region. Snowflake database replication allows a provider to create a replica in another region, and a share can be created on that replica. Direct shares, Marketplace listings, and data exchanges do not automatically replicate data across regions, so they would not satisfy the low-latency requirement without additional replication steps.

Exam trap

The trap here is believing that shares, listings, or exchanges automatically replicate data to the consumer's region.

235
MCQhard

A developer is using a Stream on a table to capture changes. If the developer executes a DML statement that consumes the data from the Stream within a transaction, what happens to the Stream's offset after the transaction commits?

A.The offset is advanced immediately when the SELECT is executed.
B.The offset is advanced only if the transaction commits successfully.
C.The offset must be manually updated using the ALTER STREAM command.
D.The Stream is dropped and must be recreated for the next batch.
AnswerB

The Stream's offset is managed transactionally. If the DML statement using the stream is part of a transaction that commits, the stream moves its pointer to the next set of changes. If the transaction rolls back, the offset remains at its original position.

Why this answer

Snowflake Streams use an offset to track the point in time from which they are reading changes. When a Stream is used as a source in a DML operation (like INSERT INTO... SELECT FROM stream), the offset is advanced only when the transaction successfully commits, ensuring 'exactly-once' processing of the change data.

Exam trap

Many candidates think a stream offset advances immediately when a query reads it, forgetting that transactional commit boundaries dictate offset advancement.

236
MCQhard

Refer to the exhibit. Given the state described in the JSON, what happens when a user executes the query?

A.The warehouse automatically resumes.
B.The query fails due to lack of compute.
C.The query returns results from the cache.
D.The query waits for the warehouse to start.
AnswerC

Since the result cache is available and the query is identical, the Cloud Services layer returns the cached result. This avoids the overhead of starting a virtual warehouse, resulting in fast query execution times and zero credit usage, which is an optimal use of Snowflake's metadata-driven architecture.

Why this answer

Even though the warehouse is suspended, the query will execute successfully because the Cloud Services layer can fulfill the request from the result cache. This highlights the efficiency of the Snowflake architecture, where the Cloud Services layer functions independently of the compute layer. If the query result exists in the cache and the underlying table data has not changed, Snowflake retrieves the result without starting the warehouse, saving costs.

Exam trap

Candidates often believe that a suspended warehouse prevents any query execution, failing to realize that the Cloud Services layer can serve cached results without activating the compute cluster.

237
MCQmedium

A provider shares a database with a consumer using a direct share. The consumer reports that queries against the shared database fail with an error indicating the database does not exist, even though the share was successfully created and granted to the consumer account. The provider confirmed that the share contains the necessary tables and that the consumer account has been added to the share. What is the most likely cause of the issue?

A.The provider did not grant the USAGE privilege on the database to the consumer's role.
B.The consumer's account is in a different region than the provider's account, and cross-region sharing is not enabled.
C.The provider did not include a secure view in the share, so the consumer cannot access the tables.
D.The consumer has not created a database from the share using CREATE DATABASE ... FROM SHARE.
AnswerD

A share makes data available, but the consumer must explicitly create a database from the share using CREATE DATABASE ... FROM SHARE. Until that step is performed, the shared database does not appear in the consumer's account, causing 'database does not exist' errors. The provider cannot create the database on behalf of the consumer because the share is mounted in the consumer's account.

Why this answer

For a consumer to access a direct share, they must create a database from the share using CREATE DATABASE ... FROM SHARE. The provider's role is to create the share, grant privileges on objects to the share, and add the consumer account.

The consumer must then mount the share by creating a database. Without this step, the shared database is not visible, leading to errors when querying.

Exam trap

The trap here is assuming that granting the share to the consumer account automatically makes the data available without the consumer creating a database from the share.

238
MCQmedium

A company is using an external S3 stage to load data daily. They want Snowflake to automatically delete the source files from the S3 bucket only after they have been successfully loaded into the table. Which COPY INTO option should they enable?

A.DELETE_AFTER_LOAD = TRUE
B.REMOVE_FILES = TRUE
C.PURGE = TRUE
D.AUTO_CLEAN = TRUE
AnswerC

Setting PURGE = TRUE is the standard method for cleaning up files after a successful load. It is particularly useful for internal stages to keep them from hitting storage limits. For external stages like S3, it requires that the Snowflake IAM role has the appropriate permissions to delete objects from the specified bucket.

Why this answer

The PURGE parameter in the COPY INTO command is designed for automated cleanup of staged files. When set to TRUE, Snowflake will issue a delete command to the stage (internal or external) for every file that was successfully ingested. This helps manage storage costs and ensures that the same files are not accidentally processed again in future load cycles.

Exam trap

Candidates often think that Snowflake automatically deletes files upon ingestion by default, or they suggest using external lifecycle policies, which are independent of the COPY INTO command.

239
MCQmedium

How does Snowflake's architecture handle the storage and querying of semi-structured data like JSON to optimize performance?

A.JSON is stored as a raw BLOB and parsed at execution time.
B.Individual keys are automatically extracted into a hidden relational schema.
C.Data is compressed and stored in a columnar format based on common paths.
D.Users must manually define a schema before JSON data can be queried efficiently.
AnswerC

When JSON is ingested into a VARIANT column, Snowflake identifies common paths and stores them columnarly. This enables the optimizer to prune and only retrieve the specific data needed for a query, combining the flexibility of semi-structured data with the performance of relational storage.

Why this answer

Snowflake optimizes semi-structured data by automatically shredding it into an internal columnar format when stored in a VARIANT column. This allows the query engine to only read the specific paths or keys required by a query, similar to how it handles standard relational columns, leading to significantly better performance than traditional blob storage.

Exam trap

Candidates often assume semi-structured data is stored as flat unstructured text blobs, missing Snowflake's automatic internal columnar shredding mechanism.

240
MCQeasy

An analyst runs the same dashboard query every morning at 08:00. The query reads from tables that are loaded by an ELT job finishing at 07:30. The analyst complains that the first run takes 40 seconds while subsequent identical runs during the day return in under a second. The data in the tables does not change between the first run and the later runs. Which mechanism explains the speedup?

A.The virtual warehouse's local disk cache retained the table's micro-partitions from the first run.
B.The warehouse's query acceleration service automatically rewrote the query into a faster form after the first execution.
C.The metadata cache allowed the optimizer to skip scanning because it already knew the aggregate values.
D.The result cache returned the previously computed result because the query text and underlying data were unchanged.
AnswerD

Snowflake's result cache stores the output of a query for 24 hours and returns it directly when an identical query is submitted and the underlying micro-partitions have not changed. The first run after the 07:30 load computes and caches the result; later identical runs hit the cache and return in under a second without using a warehouse.

Why this answer

When an identical query is submitted and the underlying data has not changed, Snowflake returns the cached result instead of re-executing the query. The first morning run after the ELT job populates the cache with a 40-second result; every subsequent identical run within the 24-hour window returns that stored result in under a second. Local disk caching, metadata, and query acceleration all still require execution work.

Exam trap

The trap here is attributing fast repeat queries to warehouse caching, when the local disk cache still requires the aggregation to be recomputed and is cleared on suspend or resize.

241
MCQmedium

What is the primary role of the 'ORGANIZATIONADMIN' role in Snowflake?

A.To manage data access within a single account.
B.To perform account-level management across the organization.
C.To query all data across the entire organization.
D.To assign roles to users within a single database.
AnswerB

The ORGADMIN role is designed specifically for managing multiple accounts within an organization. It allows for creating new accounts, managing replication, and viewing usage metrics across the entire enterprise. It is a critical role for administrators who need a global view and control over their entire Snowflake ecosystem.

Why this answer

The ORGANIZATIONADMIN (ORGADMIN) role is responsible for managing tasks at the account-level across the entire organization. This includes creating and managing multiple accounts, monitoring organizational usage, and configuring global replication. This role is highly privileged and exists above the ACCOUNTADMIN level, allowing for centralized control over the enterprise's Snowflake footprint while maintaining segregation between different business units or environments within the same organization.

Exam trap

Candidates often confuse ORGADMIN with ACCOUNTADMIN, mistakenly believing that ACCOUNTADMIN has the authority to manage organizational-level settings like cross-account replication or multi-account billing.

242
MCQmedium

Refer to the exhibit. Based on the JSON configuration for this Snowflake listing, who will be able to discover and access this data?

A.Any Snowflake customer in the same region as the provider.
B.Only the users within the provider's own Snowflake account.
C.Only the specific accounts 'ORG_A.ACCOUNT_1' and 'ORG_B.ACCOUNT_2'.
D.All accounts belonging to ORG_A and ORG_B, regardless of the individual account names.
AnswerC

Because the listing is marked as private and specifies target accounts, only those named accounts will see the listing in their 'Private Sharing' area. This configuration is ideal for B2B data sharing where the provider wants to leverage the Marketplace's UI and tracking but keep the data restricted to specific partners.

Why this answer

The exhibit defines a Private Listing. Private listings are not visible in the public Snowflake Marketplace. Instead, they are only discoverable by the specific accounts listed in the 'target_accounts' array.

This allows providers to use the Marketplace interface and management tools to share data with specific partners securely, without making the offering public to the entire Snowflake community.

Exam trap

Candidates often assume that 'Private' means it is visible to everyone within the organization, rather than realizing it is restricted to specific, named accounts.

243
MCQhard

What is the consequence of applying a Row Access Policy to a table that already contains existing data?

A.The data must be reloaded to apply the policy.
B.Existing queries will continue to return all rows.
C.The policy is applied immediately to all subsequent queries.
D.The table must be dropped and recreated.
AnswerC

Row Access Policies are enforced at the query level. As soon as the policy is successfully attached to the table, the Snowflake engine will apply the filtering criteria to every query executed against that table, ensuring consistent security enforcement regardless of when the data was originally loaded.

Why this answer

When a Row Access Policy is applied to an existing table, the policy immediately takes effect for all subsequent queries. Any user who runs a query against the table will only see the rows allowed by the policy logic. This is critical for governance because it provides an immediate, retroactive enforcement of security rules without needing to migrate or transform the existing data in the table, ensuring compliance from the moment the policy is activated.

Exam trap

Candidates often mistakenly believe that applying a Row Access Policy requires reloading data or recreating the table, failing to realize that Snowflake applies policies retroactively to all existing data immediately.

244
Multi-Selecthard

When considering the implementation of a clustering key on a large table, which TWO scenarios indicate that clustering will provide the most significant performance benefit?

Select 2 answers
A.The table is frequently updated with small DML operations.
B.Queries against the table typically filter on a specific dimension column.
C.The table size is less than 50 GB and fits in the local cache.
D.The Query Profile shows that a large percentage of partitions are scanned.
E.The table is used exclusively for full table scans and exports.
AnswersB, D

When queries consistently use a specific column in WHERE clauses, clustering the table on that column ensures that data is physically grouped together. This maximizes the efficiency of partition pruning, as the system can quickly identify and skip micro-partitions that do not match the filter criteria.

Why this answer

Clustering is most effective for large tables (typically multi-terabyte) where query performance has degraded over time due to poor data grouping. It benefits queries that use selective filters on specific columns, as it allows the optimizer to skip a high percentage of micro-partitions that do not contain relevant data.

Exam trap

Candidates often suggest clustering for small tables. Clustering is resource-intensive and provides no benefit for small datasets where full table scans are already highly efficient and fast.

245
MCQeasy

Which component of the Snowflake architecture is responsible for managing data integrity, query optimization, and transaction management?

A.Compute Layer
B.Storage Layer
C.Cloud Services Layer
D.Database Layer
AnswerC

The Cloud Services layer orchestrates all Snowflake activities, including security, metadata, query parsing, optimization, and transaction management. It uses a set of services that run on compute resources managed by Snowflake, ensuring that all operations are secure, consistent, and highly performant across the entire data platform environment.

Why this answer

The Cloud Services layer acts as the 'brain' of Snowflake. It handles all authentication, metadata management, access control, and query optimization. By centralizing these tasks, the architecture keeps the compute layer decoupled and stateless.

This is fundamental to Snowflake's design, as it allows users to perform DDL and DML operations, maintain security, and optimize query plans without requiring management of the underlying hardware or software infrastructure.

Exam trap

Many test-takers confuse the responsibilities of the Virtual Warehouse compute layer with the Cloud Services layer, incorrectly attributing query optimization and metadata management to the compute warehouses.

246
MCQhard

A data engineer is using the COPY INTO command to load data from an external stage into a Snowflake table. The engineer wants to ensure that the load operation does not fail if some files in the stage have already been loaded previously. The engineer also wants to avoid reloading files that have already been processed. Which COPY INTO option should be used to achieve this?

A.Set PURGE = TRUE to remove files from the stage after loading, ensuring they are not reloaded.
B.LOAD_UNCERTAIN_FILES = TRUE
C.Use the default behavior of COPY INTO, which automatically skips files that have been loaded in the past 64 days.
D.FORCE = TRUE
AnswerC

By default, COPY INTO maintains load metadata for 64 days and skips files that have already been successfully loaded. This prevents duplicate loading without additional options. The engineer should simply rely on the default behavior, which is designed to avoid reloading files within the retention period.

Why this answer

The default behavior of COPY INTO is to skip files that have already been loaded, based on load metadata retained for 64 days. This prevents duplicate loading without requiring any special options. Using FORCE or LOAD_UNCERTAIN_FILES would override this and potentially cause duplicates.

PURGE deletes files but is not intended for duplicate avoidance.

Exam trap

The trap here is assuming that an explicit option is needed to skip previously loaded files, when in fact COPY INTO does this by default.

247
Multi-Selectmedium

A provider wants to share data with a consumer using a Direct Share. Which two statements accurately describe the consumer's experience after the share is mounted? (Choose two.)

Select 2 answers
A.The consumer can view the share's objects without any additional storage cost for the shared data.
B.The consumer can modify the shared data directly because they own the mounted database.
C.The consumer must copy the shared data into their own tables before querying it.
D.The consumer can query shared data using their own virtual warehouses.
E.The consumer can create their own tables in the same schema as the shared objects.
AnswersA, D

Because shared data stays in the provider's storage, the consumer incurs no storage charges for the shared data itself. The consumer only pays for compute used to query it. This cost model is a key benefit of Snowflake sharing and is accurately described in this statement.

Why this answer

With Direct Sharing, the consumer mounts a read-only database and queries it using their own compute. Storage remains with the provider, so the consumer incurs no storage cost for the shared data. The consumer cannot modify shared objects or add objects inside the shared database, which distinguishes sharing from copying data.

Exam trap

The trap here is conflating ownership of the mounted database with write access to its contents, when shared databases are strictly read-only for the consumer.

248
MCQeasy

A company wants to monetize its data by making it available to other Snowflake customers through a centralized, public platform. Which Snowflake feature should they use?

A.Snowflake Data Exchange
B.Snowflake Marketplace
C.Direct Data Sharing
D.Snowflake Snowpark
AnswerB

The Snowflake Marketplace is specifically designed for public data sharing and monetization. It allows providers to showcase their data to thousands of potential customers globally. Consumers can browse, preview, and subscribe to data sets directly from their Snowflake account, with the provider managing access and potentially charging for the subscription.

Why this answer

The Snowflake Marketplace is a public forum where providers can list data sets, services, and applications. It facilitates the discovery and consumption of third-party data and allows providers to reach a wide audience of Snowflake users. This architecture leverages Snowflake's secure data sharing technology to enable seamless commercial transactions and data exchange across different organizations.

Exam trap

Candidates often confuse internal data sharing with the public Snowflake Marketplace, failing to distinguish between private shares and the centralized platform for third-party data monetization.

249
MCQmedium

A company wants to enforce that all data in a specific schema is protected by a data classification tag before it can be queried by analysts. The security team has created a tag named DATA_CLASS and a masking policy associated with that tag. Analysts report they can still see raw values in some columns. What is the most likely cause?

A.The masking policy uses CURRENT_ROLE() and the analysts are using a role that is not listed in the policy's allowed roles.
B.The masking policy was created but not associated with the DATA_CLASS tag.
C.The analysts have been granted the APPLY MASKING POLICY privilege on the tag.
D.The DATA_CLASS tag was created in a different database than the schema being protected.
AnswerB

A tag-based masking policy only takes effect when the policy is attached to the tag. Creating the policy and the tag separately does not link them. If the policy is not set on the tag, columns carrying the tag are not masked. The security team must run ALTER TAG ... SET MASKING POLICY to associate the policy with the tag so that all tagged columns are protected.

Why this answer

Tag-based masking requires the masking policy to be attached to the tag. Creating both objects without linking them leaves tagged columns unmasked. The fix is to associate the policy with the tag so that every column carrying the tag is automatically protected.

Exam trap

The trap here is assuming that creating a tag and a masking policy is sufficient, when the policy must be explicitly attached to the tag.

250
MCQhard

A data engineer needs to transform semi-structured data stored in a VARIANT column that contains an array of JSON objects into a relational table with one row per object. The engineer wants to use a Snowflake function that can expand the array into multiple rows. Which function should be used?

A.PARSE_JSON
B.FLATTEN
C.OBJECT_CONSTRUCT
D.ARRAY_AGG
AnswerB

FLATTEN is a table function that takes a VARIANT column and expands arrays or objects into multiple rows. It is designed exactly for this purpose, producing one row per element in the array. Using LATERAL FLATTEN allows the engineer to join the expanded rows back to the original table, achieving the desired relational format.

Why this answer

FLATTEN is the correct function to expand an array of objects into multiple rows. It is typically used in the FROM clause with LATERAL, allowing each element of the array to become a separate row while preserving access to the original row's columns. The other functions either create VARIANT values or aggregate rows, not expand arrays.

Exam trap

The trap here is confusing functions that manipulate semi-structured data with the one that specifically expands arrays into rows.

251
Multi-Selectmedium

A developer is building a Change Data Capture (CDC) pipeline using Snowflake. Which TWO features are required to ensure that only new or modified data is processed and that the processing logic runs automatically whenever data arrives?

Select 2 answers
A.Streams
B.Tasks
C.External Tables
D.Stored Procedures
E.Dynamic Tables
AnswersA, B

Streams provide a 'change table' that tracks DML changes made to a source table, including inserts, updates, and deletes. They record the current offset and allow consumers to read exactly what has changed since the last time the stream was consumed, making them the foundational component for incremental data loading.

Why this answer

Modern data pipelines in Snowflake rely on the synergy between Streams and Tasks to achieve efficient CDC. Streams provide the ability to track changes at the row level without manual versioning, while Tasks provide the scheduling and execution framework. Together, they allow for automated, incremental processing that reduces latency and optimizes resource consumption.

Exam trap

Candidates often confuse streams and tasks with stored procedures or third-party orchestrators like Airflow. They forget that Snowflake provides native continuous CDC processing components specifically through this pairing.

252
Multi-Selecthard

A governance team needs to implement data classification and access control for a new table containing sensitive data. They want to (1) tag columns with a sensitivity level, and (2) enforce that only users with a specific role can see the unmasked data. Which two Snowflake features should they use together to achieve these goals? (Choose two.)

Select 2 answers
A.Network policy
B.Row access policy
C.Secure view
D.Object tagging
E.Masking policy
AnswersD, E

Object tagging allows the governance team to assign tags to columns, such as sensitivity level, for classification and tracking. Tags can be used to document data sensitivity and can be leveraged in policies. They are essential for the first requirement of tagging columns with a sensitivity level. Tags alone do not enforce access control, but they provide metadata for governance.

Why this answer

Object tagging is used to classify columns with sensitivity levels, providing metadata for governance. Masking policies enforce column-level access control by dynamically masking data based on the user's role. Together, they satisfy both requirements: tagging for classification and masking for access enforcement.

Other features like row access policies or secure views do not provide the needed column-level masking and tagging combination.

Exam trap

The trap here is confusing row-level filtering with column-level masking, or assuming that tagging alone can enforce access control.

253
MCQeasy

For optimal parallel loading performance using a Snowflake virtual warehouse, what is the generally recommended compressed file size range for data files in a stage?

A.1KB to 100KB
B.10MB to 100MB
C.1GB to 5GB
D.Exactly 256MB to match HDFS blocks
AnswerB

The 10MB to 100MB range is the 'sweet spot' for Snowflake's data ingestion engine. This size allows for efficient distribution of files across the CPUs in a virtual warehouse. It balances the need for parallelism with the need to minimize the number of files the system must track, resulting in the fastest possible bulk loading performance.

Why this answer

Snowflake's architecture is optimized for parallel processing, where each execution thread in a warehouse can process a separate file. To maximize this parallelism and avoid overhead, it is recommended to aim for file sizes between 10MB and 100MB when compressed. This ensures that the workload is distributed evenly across all available compute nodes without overwhelming the system with metadata management.

Exam trap

Candidates often confuse the recommended file size range for standard data loading (10MB to 100MB compressed) with larger bulk loading recommendations or uncompressed file sizes.

254
MCQhard

Which component is responsible for orchestrating the lifecycle of a virtual warehouse, including start and stop operations?

A.The Storage layer
B.The Compute layer
C.The Cloud Services layer
D.The Object Storage API
AnswerC

The Cloud Services layer is the command center that manages the entire Snowflake environment, including the lifecycle of virtual warehouses. It monitors usage, evaluates query requests, and handles the automated starting and stopping of warehouses based on workload demand, ensuring that compute resources are managed efficiently and effectively for all users.

Why this answer

The Cloud Services layer orchestrates the life cycle of virtual warehouses. When a query is received, the Cloud Services layer determines if the warehouse is running; if not, it triggers the start process. This is part of the 'serverless' experience Snowflake provides, allowing users to interact with the platform without manually managing compute resources.

This automation is vital for maintaining high availability while optimizing cost through automated suspension and resumption.

Exam trap

Many candidates incorrectly attribute warehouse lifecycle management to the Compute layer. The Cloud Services layer is the 'brain' of Snowflake and handles all orchestration, including starting and stopping virtual warehouses.

255
MCQhard

A data engineer is tuning a query that filters on a VARCHAR column `status` with values such as 'ACTIVE', 'INACTIVE', and 'PENDING'. The table is very large and the query currently performs a full table scan. The engineer wants to reduce the amount of data scanned by using a search optimization service. Which action should the engineer take?

A.Create a secondary index on the status column using the CREATE INDEX command.
B.Add a clustering key on the status column and expect the query to use clustering for pruning.
C.Create a materialized view on the status column and query the materialized view instead.
D.Enable the search optimization service on the table and specify the status column in the search optimization configuration.
AnswerD

The search optimization service creates a persistent data structure that allows Snowflake to quickly locate micro-partitions that contain specific values. By enabling it on the table and including the status column, the query can use the search optimization access path to avoid scanning the entire table. This is the intended use case for selective equality and IN filters on large tables, and it directly reduces the data scanned.

Why this answer

The search optimization service is designed to accelerate selective point lookups and substring searches on large tables. Enabling it on the table and adding the status column to its configuration allows Snowflake to use an optimized access path that avoids a full table scan, directly addressing the performance issue.

Exam trap

The trap here is assuming that clustering or a materialized view is the best solution for highly selective point lookups, when the search optimization service is specifically built for that purpose.

256
MCQhard

Refer to the exhibit. Based on the query profile metadata provided, which Snowflake feature most likely contributed to the high efficiency of this query?

A.Search Optimization Service
B.Partition Pruning
C.Materialized Views
D.Query Result Caching
AnswerB

Partition pruning is explicitly shown here. By scanning only 100 out of 10,000 partitions, Snowflake effectively skipped 99% of the data. This occurs because the Cloud Services layer maintains metadata about the range of values in each partition, allowing the engine to avoid unnecessary data reads.

Why this answer

Partition pruning is a core performance feature that allows Snowflake to ignore entire blocks of data that do not meet the filter criteria. By utilizing the metadata stored in the Cloud Services layer, Snowflake identifies the specific partitions containing the relevant 'order_date' values. This dramatically reduces I/O operations and speeds up query execution, which is fundamental to Snowflake's high-performance data processing architecture.

Exam trap

Candidates often guess 'Result Cache' when they see fast queries. However, if the query uses filters on specific columns, 'Partition Pruning' is the architectural feature responsible for skipping unnecessary data blocks.

257
MCQhard

A Snowflake user needs to query data stored in an external cloud storage location (e.g., Amazon S3) without loading it into Snowflake tables. They want to minimize data movement and cost. Which Snowflake feature should they use?

A.External Tables
B.Snowpipe
C.Materialized Views
D.Internal Stages
AnswerA

External tables allow querying data stored in external cloud storage directly, without loading it into Snowflake. They use a stage to access the files and can be queried like regular tables. This minimizes data movement and cost because data remains in the external location and is read on demand. This directly addresses the requirement.

Why this answer

External tables enable querying data in external cloud storage directly, without loading it into Snowflake. This reduces data movement and cost because the data stays in its original location. Internal stages, materialized views, and Snowpipe all involve loading or storing data within Snowflake, which does not meet the requirement.

Exam trap

The trap here is confusing external tables with stages or Snowpipe, thinking that any external data access feature avoids loading, when only external tables allow direct querying.

258
MCQhard

A data governance lead is configuring tag-based masking so that columns tagged with a PII classification are automatically protected. The lead creates a tag named PII_CLASSIFICATION and a masking policy, then applies the tag to several columns. Later, an analyst queries a tagged column and sees unmasked values. The masking policy was attached to the tag using ALTER TAG ... SET MASKING POLICY. What is the most likely cause?

A.The masking policy was attached to the tag but the tag was not applied to the specific column at the column level.
B.Tag-based masking requires the tag to be a system tag rather than a user-defined tag.
C.The masking policy must be attached to the tag before the tag is created on the column, and the order was reversed.
D.The analyst's role has the ACCOUNTADMIN role granted, which bypasses all masking policies.
AnswerA

Tag-based masking only takes effect on columns that actually carry the tag. Creating the tag and associating the masking policy with the tag is not sufficient; the tag must be set on each column, for example with ALTER TABLE ... MODIFY COLUMN ... SET TAG. If the tag was applied only to the table or never set on the column, queries against that column return unmasked data, which matches the observed behavior.

Why this answer

Tag-based masking requires two conditions to be satisfied: the masking policy must be associated with the tag, and the tag must be applied to the target column. If the tag was only created or applied at the table level rather than the column level, Snowflake has no tagged column to protect, so queries return the original values. Verifying the column's tag assignment resolves the issue.

Exam trap

The trap here is assuming that associating a masking policy with a tag automatically protects every column, when the tag must still be applied to each column individually.

259
MCQmedium

Which administrative role should be used to manage the lifecycle of warehouses and databases, while strictly avoiding the management of users and roles?

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

The SYSADMIN role is specifically designed for the administration of objects such as databases, schemas, and warehouses. It has the necessary permissions to manage these objects but lacks the ability to create users or modify security roles, perfectly fulfilling the requirement for a separation of duties in governance.

Why this answer

The SYSADMIN role is the standard role for creating and managing data objects such as databases, schemas, tables, and warehouses. It is distinct from the SECURITYADMIN role, which manages user identities and permissions. This separation of duties is a fundamental pillar of Snowflake's security architecture, ensuring that operational and administrative control over data objects is kept separate from the management of user access, thereby mitigating the risk of privilege escalation and internal misuse.

Exam trap

Candidates frequently select ACCOUNTADMIN out of habit, failing to respect the principle of least privilege required by the question to avoid managing users and roles.

260
MCQmedium

A data engineer is configuring a Snowflake external stage that points to an Amazon S3 bucket. The bucket is in the same region as the Snowflake account. The engineer wants to avoid embedding long-lived AWS credentials in the stage definition and instead use a secure, temporary credential mechanism. Which authentication method should be used for the external stage?

A.Create a Snowflake user with an AWS IAM policy attached directly.
B.Enable AWS IAM database authentication on the Snowflake account.
C.Configure the stage with AWS_KEY_ID and AWS_SECRET_KEY parameters.
D.Use a storage integration with an IAM role and external ID.
AnswerD

A storage integration creates a trust relationship between Snowflake and AWS IAM, allowing Snowflake to assume an IAM role and obtain temporary credentials. This avoids storing long-lived keys in Snowflake and is the recommended secure method for accessing external cloud storage. It satisfies the requirement to use temporary credentials without embedding secrets.

Why this answer

The secure and recommended way to grant Snowflake access to an external S3 bucket without embedding long-lived credentials is to create a storage integration. This integration establishes a trust relationship between Snowflake and AWS, allowing Snowflake to assume an IAM role and obtain temporary credentials. The other options either embed static keys or confuse AWS IAM features with Snowflake capabilities, failing to meet the security requirement.

Exam trap

The trap here is assuming that embedding AWS keys in the stage definition is acceptable for production or that Snowflake supports AWS IAM database authentication directly.

261
MCQmedium

An administrator needs to restrict access to sensitive PII data. Which TWO of the following are valid approaches to implement governance in Snowflake?

A.Apply a Row Access Policy to the table.
B.Implement column-level Dynamic Data Masking.
C.Use physical data partitioning to store PII in separate tables.
D.Assign the ACCOUNTADMIN role to all data stewards.
E.Export data to an encrypted S3 bucket for security.
AnswerA, B

Row Access Policies are a native governance feature that restricts the number of rows returned by a query based on the current user's role or attributes. This is a primary tool for ensuring users only view data relevant to their specific department or geographic region.

Why this answer

Snowflake provides several layers of defense-in-depth to secure sensitive information. Row Access Policies filter which rows a user can see, while Dynamic Data Masking transforms column data based on user privileges. Using these in combination allows architects to build a highly restrictive environment where users only interact with the exact data subsets and column values they are authorized to access, complying with strict regulatory data privacy standards.

Exam trap

Candidates frequently confuse row access policies and data masking with traditional database views or warehouse-level resource monitors used for cost control.

262
MCQhard

Refer to the exhibit. Why were zero credits consumed for the query execution?

A.The warehouse WH_XS is in a suspended state.
B.The query was satisfied by the Query Result Cache.
C.The data was already present in the warehouse local disk cache.
D.The query failed during the planning phase.
AnswerB

The JSON response shows that the query result was fetched from the cache. Because the system did not need to perform any data processing or compute-heavy task, it did not charge for compute resources, leading to the zero credit consumption recorded in the query history log.

Why this answer

The exhibit indicates that the query utilized the Query Result Cache, as evidenced by 'cached_result': 'TRUE'. When Snowflake identifies an identical query whose results are still in the cache and the underlying data has not changed, it returns the stored result set. This bypasses the virtual warehouse compute layer entirely, resulting in zero credit consumption, which is a highly efficient way to serve repeat dashboard queries.

Exam trap

Candidates frequently assume that a query must use a running virtual warehouse to return results, forgetting that the Query Result Cache can bypass compute resources entirely.

263
MCQmedium

When a virtual warehouse spills data to local disk, what does this indicate about the query and resource allocation?

A.The warehouse is too large.
B.The memory capacity of the warehouse nodes is insufficient.
C.The data is not properly clustered.
D.The result cache is full.
AnswerB

When the memory allocated to a node is not enough to hold the intermediate results for complex operations like large joins or sorts, Snowflake must spill the data to local disk. This is a clear indicator that the compute resources (warehouse size) are not adequate for the query's demands.

Why this answer

Spilling to local disk occurs when the data required for an operation, such as a large join or sort, exceeds the memory capacity of the warehouse nodes. This significantly degrades performance because disk I/O is much slower than memory access. Recognizing this behavior is vital for performance tuning, as it signals that the current warehouse size is insufficient for the volume of data being processed, necessitating a larger warehouse or a more efficient query design.

Exam trap

Candidates often mistakenly believe that increasing the number of warehouse nodes (scaling out) will solve disk spilling. However, scaling out only helps with concurrency, not memory-intensive operations that require a larger node size.

264
MCQeasy

A data steward needs to review the history of changes made to a table, including which columns were added or dropped and when, for an audit that covers the past 60 days. The table is in a database that has a data retention period of 90 days. Which Snowflake feature should the steward use to retrieve this information?

A.The ACCESS_HISTORY view in the ACCOUNT_USAGE schema.
B.The ACCOUNT_USAGE.QUERY_HISTORY view filtered by the table name.
C.Time Travel by querying the table with AT (TIMESTAMP => ...) for each day in the audit period.
D.The object change history accessible through the ACCOUNT_USAGE schema, such as the COLUMNS view with its deleted and change tracking columns.
AnswerD

The ACCOUNT_USAGE schema includes views that track object metadata over time. The COLUMNS view, for example, records column definitions and marks deleted columns, allowing a steward to see when columns were added or dropped. This provides the structured change history needed for the audit, independent of the table's data retention period.

Why this answer

Object change history in the ACCOUNT_USAGE schema records metadata changes such as column additions and drops, with timestamps and deleted markers. This is the correct source for auditing schema evolution. Time Travel and query or access history views serve different purposes and do not provide a structured column change log.

Exam trap

The trap here is confusing Time Travel, which returns past data, with object change history, which records metadata changes.

265
Multi-Selectmedium

A data engineer is configuring a Snowflake storage integration to allow Snowflake to access an external S3 bucket. The engineer needs to ensure that the integration has the necessary permissions to read and write data. Which two actions must the engineer perform? (Choose two.)

Select 2 answers
A.Set the STORAGE_ALLOWED_LOCATIONS parameter in the storage integration to restrict access to specific S3 paths.
B.Grant the IAM role permissions to access the S3 bucket, such as s3:GetObject, s3:PutObject, s3:ListBucket, and s3:GetBucketLocation.
C.Create an IAM role in AWS with a trust policy that allows Snowflake's AWS account to assume the role.
D.Store AWS access keys and secret keys in the storage integration definition for authentication.
E.Configure the S3 bucket policy to allow public access so Snowflake can read the data.
AnswersB, C

This is correct because the IAM role must have a policy that allows the necessary S3 actions on the bucket and its objects. At minimum, read and write permissions like s3:GetObject, s3:PutObject, s3:ListBucket, and s3:GetBucketLocation are required for loading and unloading. Without these permissions, Snowflake will receive access denied errors when attempting to read or write data.

Why this answer

To configure a storage integration for S3, you must create an IAM role in AWS that trusts Snowflake's AWS account and has the necessary S3 permissions. These two actions are essential for Snowflake to assume the role and access the bucket. Other options are either insecure or optional.

The integration uses temporary credentials, so storing access keys is not needed.

Exam trap

The trap here is thinking that public access or storing credentials is required, but storage integrations use IAM role assumption with temporary credentials.

266
MCQhard

Refer to the exhibit. User 'jdoe' holds the 'manager' role. Which privileges does 'jdoe' possess regarding roles and data access?

A.jdoe has the privileges of the manager role only.
B.jdoe has the privileges of the manager and analyst roles.
C.jdoe must explicitly switch to the analyst role to see its data.
D.jdoe only has access to objects created by the analyst role.
AnswerB

The GRANT command establishes a hierarchy where the parent role inherits all privileges of the child role. Since jdoe holds the manager role, and manager holds the analyst role, jdoe inherently possesses the combined set of privileges from both roles, enabling access to all underlying objects.

Why this answer

Snowflake's role-based access control (RBAC) supports hierarchy. When 'analyst' is granted to 'manager', and 'manager' is granted to 'jdoe', 'jdoe' inherits all privileges assigned to both the 'manager' and 'analyst' roles. This inheritance model allows for complex organizational structures while keeping grant management simple.

It is crucial for governance, as it prevents over-privileging by allowing admins to nest permissions logically rather than assigning every individual role directly to users.

Exam trap

Candidates assume users only hold the privileges of their directly assigned role, ignoring multi-level hierarchical grants where roles are nested.

267
MCQmedium

A data engineer needs to ensure that sensitive PII columns are masked for all users except for a specific group of HR analysts. Which Snowflake feature is the most efficient and scalable solution to implement this requirement?

A.Create secure views for every user role in the account.
B.Implement Dynamic Data Masking policies on the sensitive columns.
C.Use the UNMASK function in every query selecting sensitive data.
D.Apply Row-Level Security to hide rows containing sensitive PII.
AnswerB

Dynamic Data Masking provides a centralized and scalable way to protect sensitive data. By defining a policy that checks for the HR role, security administrators can ensure that data is masked for general users while remaining visible to HR, all without modifying the physical data stored in the tables.

Why this answer

Dynamic Data Masking (DDM) allows centralized management of data access policies based on the user's role. By attaching a masking policy to a column, Snowflake automatically evaluates the user's role at query runtime. This approach is superior to static masking or manual view management because it centralizes governance, minimizes data duplication, and ensures that security policies remain consistent regardless of how the user accesses the underlying table.

Exam trap

Candidates often suggest using Row Access Policies or separate tables for different roles, which creates unnecessary data redundancy and significant maintenance challenges compared to using DDM.

268
MCQmedium

A data engineer runs a query that joins a large fact table to a small dimension table, but the Query Profile shows a Cartesian join instead of the intended inner join. The join predicate in the SQL is `ON fact.dim_id = dim.id`. Which action will most reliably correct the plan while preserving the query's result?

A.Increase the warehouse size from X-SMALL to LARGE to give the optimizer more compute resources.
B.Verify the data types of `fact.dim_id` and `dim.id` are compatible and add an explicit CAST so the join predicate uses matching types.
C.Rewrite the join as `ON fact.dim_id = dim.id AND fact.dim_id IS NOT NULL`.
D.Add the `USE_CACHED_RESULT = TRUE` parameter to the session before executing the query.
AnswerB

Snowflake may fail to recognize a join predicate when the two columns have incompatible or implicitly coercible types, leading the optimizer to fall back to a Cartesian join. Aligning data types with an explicit CAST restores an equality predicate the optimizer can use to build a hash join and preserve the intended result.

Why this answer

The optimizer can only build a hash join when it recognizes a valid equality predicate between compatible columns. If the join columns have mismatched or implicitly coercible data types, Snowflake may not recognize the predicate and may produce a Cartesian join. Explicitly aligning the data types with CAST restores the recognized equality, allowing the intended inner join and preserving the query's result.

Exam trap

The trap here is assuming that adding a null filter or increasing warehouse size can fix a Cartesian join, when the real cause is a join predicate the optimizer cannot recognize due to type mismatch.

269
MCQeasy

A consumer has mounted a shared database named 'SALES_DATA_SHARED'. They need to add a new column to one of the tables in this database to store local annotations. Which statement best describes the outcome if they attempt this?

A.The operation will succeed, but the changes will only be visible to the consumer's account.
B.The operation will fail because shared databases are read-only for consumers.
C.The operation will succeed only if the provider has granted the 'MODIFY' privilege to the share.
D.The operation will fail unless the consumer is using the 'ACCOUNTADMIN' role.
AnswerB

Any DDL or DML attempt on a shared database results in an error. The read-only nature is a fundamental security and architectural constraint of Snowflake's sharing model. This ensures that the provider remains the sole authority for the data and that the consumer's role is limited to data analysis and retrieval.

Why this answer

Shared databases in Snowflake are strictly read-only for the consumer. The consumer cannot perform any Data Definition Language (DDL) operations like ALTER TABLE, nor any Data Manipulation Language (DML) operations like INSERT or UPDATE on the shared objects. This architecture ensures the integrity of the provider's data and maintains a single version of truth across all consumers.

Exam trap

Candidates often think they can perform local transformations on shared data, failing to realize that shared databases are strictly read-only and cannot be modified by the consumer.

270
MCQmedium

Which of the following describes the purpose of 'Object Tagging' in Snowflake?

A.To encrypt sensitive data at the column level.
B.To logically group objects for discovery and compliance reporting.
C.To restrict user access based on their network location.
D.To automatically optimize query performance.
AnswerB

Object tagging provides a mechanism to attach labels to objects, which can then be used to query and report on the data. For example, a tag like 'PII: True' helps security teams identify and audit all sensitive columns across the entire account for compliance documentation.

Why this answer

Object tagging allows administrators to assign metadata to objects (like tables, columns, or warehouses) to facilitate discovery, tracking, and governance. Tags are useful for identifying sensitive data, tracking costs, or enforcing compliance. This is a crucial feature for large organizations that need to report on data usage, lifecycle, and sensitivity across thousands of objects, making it easier to manage and audit data at scale.

Exam trap

Candidates often think tags are used for performance optimization or data clustering. They fail to recognize that tags are primarily metadata tools for discovery, compliance, and cost reporting purposes.

271
MCQmedium

Refer to the exhibit. Based on the configuration provided for the ANALYTICS_WH, how will Snowflake manage clusters when multiple users start submitting queries at the same time?

A.A new cluster will start immediately as soon as a single query is queued.
B.Snowflake will start a new cluster only if it estimates there is enough work for 6 minutes.
C.The warehouse will immediately scale up to 4 clusters to handle the incoming load.
D.The warehouse will automatically increase its size from X-Small to Large.
AnswerB

The Economy scaling policy is designed to conserve credits by ensuring that secondary clusters are only initiated when the system anticipates a sustained workload. Specifically, it waits until it detects sufficient queued queries to keep an additional cluster busy for at least six minutes, effectively balancing performance with financial efficiency.

Why this answer

The Economy scaling policy prioritizes cost savings by waiting to start a new cluster until there is enough work to keep it busy for at least six minutes. This is different from the Standard policy, which starts clusters immediately to minimize queuing. This configuration is ideal for workloads where immediate response times are less critical than budget control.

Exam trap

Candidates often assume all scaling policies behave the same regarding cluster startup. They fail to realize that the 'Economy' policy is specifically designed to delay cluster startup to save money.

272
MCQmedium

An administrator wants to ensure that a specific role can only access Snowflake from the corporate office IP range. Which tool should they use?

A.Row Access Policies.
B.Granting specific network privileges.
C.Network Policies.
D.Setting a Session Policy.
AnswerC

Network Policies allow administrators to specify a list of IP addresses that are permitted (or blocked) from connecting to the Snowflake account. These policies can be applied globally or to specific users, providing a flexible and secure way to enforce location-based access controls.

Why this answer

Network Policies are the mechanism to restrict access by IP address. By creating a policy and applying it to a specific user or the entire account, administrators can ensure that connections only succeed from authorized locations. This is a foundational governance practice to protect against unauthorized access from external or insecure network locations, effectively creating a perimeter around the data platform.

Exam trap

Candidates often think they can restrict access by role using IP addresses directly in the role definition. They miss that Network Policies are global or user-level objects, not role-level objects.

273
MCQhard

A provider has a share containing a secure view that references a table in the same database. The provider wants the share to stop being visible to a specific consumer account but keep the share and its grants intact for other consumers. Which action accomplishes this?

A.Run ALTER SHARE ... ADD ACCOUNTS = <consumer_account> with a REVOKE keyword to flip the account's access off.
B.Run REVOKE USAGE ON DATABASE <shared_db> FROM SHARE <share_name> to detach the consumer account.
C.Run DROP SHARE <share_name> and recreate it immediately, re-adding every consumer except the one to be excluded.
D.Run ALTER SHARE ... REMOVE ACCOUNTS = <consumer_account> so only that account loses access while the share and its grants remain unchanged.
AnswerD

REMOVE ACCOUNTS deletes the account-to-share association for the named consumer only. The share object and all grants on its objects persist, so other consumers are unaffected. The removed account can no longer create a database from the share, and its existing shared database loses access on the next access attempt.

Why this answer

A share's consumer list is managed with ALTER SHARE. Using REMOVE ACCOUNTS for one account revokes that account's access while leaving the share definition and all object grants untouched, so remaining consumers continue working without interruption.

Exam trap

The trap here is reaching for DROP SHARE or privilege revokes to cut off one consumer, when the share's account list is what controls which accounts can mount it.

274
MCQmedium

What is the role of the Cloud Services layer within the Snowflake architecture when a user submits a query?

A.It executes the physical join and aggregation operations.
B.It coordinates the query compilation and optimization.
C.It persists the raw data in micro-partitions.
D.It manages the local SSD cache of the warehouse.
AnswerB

The Cloud Services layer is responsible for parsing the SQL, checking security permissions, and generating an optimized query plan. Once the plan is finalized, it sends the instructions to the virtual warehouse, which then fetches data from the persistent storage layer to execute the query.

Why this answer

The Cloud Services layer acts as the 'brain' of Snowflake, handling authentication, metadata management, access control, and query optimization. When a user submits a query, this layer parses, compiles, and optimizes the execution plan before dispatching it to a virtual warehouse. Understanding this layer is essential because it is the common entry point for all operations, ensuring consistent security, policy enforcement, and efficient query planning regardless of the compute power used.

Exam trap

Test-takers frequently assume that the Virtual Warehouse compiles the query text, overlooking the fact that compilation and optimization happen entirely within the Cloud Services layer before compute is even assigned.

275
MCQmedium

A security administrator for a Snowflake account needs to grant the role FINANCE_ANALYST to a user named Priya. The administrator also wants Priya to be able to grant FINANCE_ANALYST to other users in the future. Which SQL statement should the administrator execute?

A.GRANT ROLE FINANCE_ANALYST TO USER priya;
B.ALTER USER priya SET DEFAULT_ROLE = FINANCE_ANALYST;
C.GRANT ROLE FINANCE_ANALYST TO ROLE priya;
D.GRANT ROLE FINANCE_ANALYST TO USER priya WITH GRANT OPTION;
AnswerD

This statement grants the role to the user and includes WITH GRANT OPTION, which authorizes Priya to subsequently grant that same role to other users or roles. Snowflake supports this clause for role grants, enabling delegated administration without assigning a broader security role.

Why this answer

Delegating role administration requires the WITH GRANT OPTION clause on a GRANT ROLE statement directed at the user. This lets the grantee grant that specific role onward without needing SECURITYADMIN or USERADMIN. Simply granting the role or altering the default role does not confer grant authority.

Exam trap

The trap here is assuming that granting a role automatically lets the grantee grant it to others; delegation requires the explicit WITH GRANT OPTION clause.

276
Multi-Selecthard

Snowflake's optimizer uses various techniques to improve query performance dynamically. Which TWO of the following are examples of Adaptive Query Optimization?

Select 2 answers
A.Static partition pruning based on metadata
B.Dynamic Pruning
C.Join Filtering (Bloom Filters)
D.Manual Clustering Key assignment
E.Automatic Micro-partitioning
AnswersB, C

Dynamic pruning occurs during query execution, specifically in join operations. When one side of a join (the build side) is processed, Snowflake uses the resulting values to prune micro-partitions from the other side (the probe side) in real-time, significantly reducing the amount of data scanned.

Why this answer

Adaptive Query Optimization refers to the engine's ability to adjust its execution plan based on real-time data characteristics observed during query processing. This includes techniques like dynamic pruning and join filtering, which allow the engine to bypass irrelevant data even when static metadata is insufficient.

Exam trap

Candidates often confuse static pruning via micro-partitions with dynamic optimization techniques, failing to recognize runtime adjustments like Bloom filters and dynamic pruning.

277
MCQeasy

A data provider at a healthcare analytics company wants to share live patient-readmission metrics with a partner hospital. The partner must query the data with low latency and the provider must retain full ownership and control of the underlying tables. The provider creates a share and grants USAGE on a secure view to the share. Which action must the provider perform next so the partner account can mount and query the shared data?

A.Create a database from the share in the provider account and grant USAGE to the partner.
B.Publish the share as a listing on the Snowflake Marketplace.
C.Add the partner's account to the share using ALTER SHARE ... ADD ACCOUNTS.
D.Grant the CONSUME privilege on the share to the partner's account.
AnswerC

A share becomes consumable only after the provider account is associated with a consumer account. ALTER SHARE ... ADD ACCOUNTS binds the share to the partner's Snowflake account identifier, allowing the consumer to create a database from the share. Until this association exists, the granted objects are inaccessible regardless of privileges.

Why this answer

For a direct share, the provider grants object privileges to the share, then associates the consumer account with the share. The consumer then creates a database from the share to query it. Adding the account is mandatory because privileges alone do not cross account boundaries; the share must be explicitly bound to the consumer's account before it can be mounted.

Exam trap

The trap here is assuming that granting object privileges to a share is sufficient, when the share must also be associated with the consumer's account before any data is visible.

278
MCQmedium

A data engineer is working with a table that contains a VARIANT column storing arrays of JSON objects. The engineer needs to produce a report that lists each object's attributes in separate rows. Which Snowflake function should the engineer use to transform the array into multiple rows?

A.FLATTEN
B.OBJECT_CONSTRUCT
C.PARSE_JSON
D.ARRAY_AGG
AnswerA

FLATTEN is a table function that takes a VARIANT column containing an array or object and returns a row for each element in the array or each key-value pair in the object. This is exactly what is needed to transform an array of objects into multiple rows, enabling further relational processing. It is the standard tool for exploding semi-structured data.

Why this answer

The FLATTEN function is specifically designed to explode semi-structured arrays and objects into multiple rows. When applied to a VARIANT column containing an array of objects, it returns one row per object, allowing the engineer to access each object's attributes. This is the correct approach for transforming nested data into a relational format for reporting.

Other functions either create semi-structured data or aggregate rows, which are not appropriate here.

Exam trap

The trap here is confusing functions that create or aggregate semi-structured data with those that explode it, leading to incorrect transformations.

279
MCQmedium

A data engineer loads JSON files from an external Azure stage into a table with a single VARIANT column. The JSON documents are newline-delimited, and each line is a separate object. Which file format type and option should be specified to correctly parse one JSON object per line?

A.FILE_FORMAT = (TYPE = 'JSON') with STRIP_NULL_VALUES = TRUE
B.FILE_FORMAT = (TYPE = 'JSON') with STRIP_OUTER_ARRAY = TRUE
C.FILE_FORMAT = (TYPE = 'CSV') with FIELD_DELIMITER = '\n'
D.FILE_FORMAT = (TYPE = 'JSON') with the default settings
AnswerD

For newline-delimited JSON where each line is a complete object, the JSON file format with default settings parses each line as a separate document automatically. No special option is needed because Snowflake treats each newline-separated JSON value as its own record. This correctly loads one object per row into the VARIANT column without additional configuration.

Why this answer

Snowflake's JSON file format parses newline-delimited JSON by default, treating each line as a distinct document and loading it as a row. No additional option is required for this common layout. STRIP_OUTER_ARRAY is only relevant when the file is a single JSON array, and other JSON options control field handling rather than record splitting.

Exam trap

The trap here is reaching for STRIP_OUTER_ARRAY by habit, when it only applies to a single JSON array and not to newline-delimited objects.

280
MCQhard

A data engineer is tuning a query that joins a 900 million row fact table to a 2 million row dimension table. The dimension table is fully contained in the fact table's join-key range, and the join key is not the clustering key of either table. The engineer wants to eliminate the shuffle of the fact table across warehouse nodes. Which approach best achieves this?

A.Force the optimizer to broadcast the fact table to every node so each node joins locally.
B.Increase the warehouse size so the extra nodes provide enough memory to hold both tables without spilling.
C.Broadcast the 2 million row dimension table so each node joins its local fact table partitions.
D.Add a clustering key on the fact table's join column so the optimizer can use partition pruning during the join.
AnswerC

Broadcasting the smaller relation avoids redistributing the large fact table. Each node receives a full copy of the dimension table and joins it against whatever fact rows it already holds locally, which removes the expensive shuffle of 900 million rows. This is the standard strategy when one side of the join is small enough to fit in memory on every node.

Why this answer

The goal is to avoid moving the large relation. Broadcasting the small dimension table replicates only 2 million rows to each node, while every node keeps its local slice of the fact table and performs the join in place. This is the classic broadcast join pattern and is what the optimizer chooses automatically when one side is small.

Clustering, warehouse resizing, and broadcasting the large table all fail to remove the fact table shuffle.

Exam trap

The trap here is assuming that adding clustering or enlarging the warehouse changes the join distribution strategy, when only broadcasting the small relation removes the shuffle of the large relation.

Page 3

Page 4 of 4

All pages