A user with which privileges can create or manage other users in a Snowflake account? (Select TWO).
GRANT
SELECT
MODIFY
OWNERSHIP
CREATE USER
A user with the OWNERSHIP privilege on a user object or the CREATE USER privilege on the account can create or manage other users in a Snowflake account56.
Which solution improves the performance of point lookup queries that return a small number of rows from large tables using highly selective filters?
Automatic clustering
Materialized views
Query acceleration service
Search optimization service
The search optimization service improves the performance of point lookup queries on large tables by using selective filters to quickly return a small number of rows. It creates an optimized data structure that helps in pruning the micro-partitions that do not contain the queried values3. References: [COF-C03] SnowPro Core Certification Exam Study Guide
Which VALIDATION_MODE value will return the errors across the files specified in a COPY command, including files that were partially loaded during an earlier load?
RETURN_-1_R0WS
RETURN_n_ROWS
RETURN_ERRORS
RETURN ALL ERRORS
The RETURN_ERRORS value in the VALIDATION_MODE option of theCOPY command instructs Snowflake to validate the data files and return errors encountered across all specified files, including those that were partially loaded during an earlier load2. References: [COF-C03] SnowPro Core Certification Exam Study Guide
What are key characteristics of virtual warehouses in Snowflake? (Select TWO).
Warehouses that are multi-cluster can have nodes of different sizes.
Warehouses can be started and stopped at any time.
Warehouses can be resized at any time, even while running.
Warehouses are billed on a per-minute usage basis.
Warehouses can only be used for querying and cannot be used for data loading.
Virtual warehouses in Snowflake can be started and stopped at any time, providing flexibility in managing compute resources. They can also be resized at any time, even while running, toaccommodate varying workloads910. References: [COF-C03] SnowPro Core Certification Exam Study Guide
Which Snowflake command can be used to unload the result of a query to a single file?
Use COPY INTO < external stage > followed by a GET command to download the file.
Use COPY INTO < internal stage > followed by a put command to download the file.
Use COPY INTO < internal stage > with SINGLE = TRUE followed by a GET command to download the file.
Use COPY INTO < external stage > with SINGLE = TRUE followed by a PUT command to download the file.
The Snowflake command to unload the result of a query to a single file is COPY INTO < internal stage > with SINGLE = TRUE followed by a GET command to download the file. This command unloads the query result into a single file in the specified internal stage
A tag object has been assigned to a table (TABLE_A) in a schema within a Snowflake database.
Which CREATE object statement will automatically assign the TABLE_A tag to a target object?
CREATE TABLE < table_name > LIKE TABLE_A;
CREATE VIEW < view_name > AS SELECT * FROM TABLE_A;
CREATE TABLE < table_name > AS SELECT * FROM TABLE_A;
CREATE MATERIALIZED VIEW < view name > AS SELECT * FROM TABLE A;
When a tag object is assigned to a table, using the statement CREATE TABLE < table_name > AS SELECT * FROM TABLE_A will automatically assign the TABLE_A tag to the newly created table2.
How should clustering be used to optimize the performance of queries that run on a very large table?
Manually re-cluster the table regularly.
Choose one high cardinality column as the clustering key.
Use the column that is most-frequently used in query select clauses as the clustering key.
Assess the average table depth to identify how clustering is impacting the query.
For optimizing the performance of queries that run on a very large table, it is recommended to choose one high cardinality column as the clustering key. This helps to co-locate similar rows in thesame micro-partitions, improving scan efficiency in queries by skipping data that does not match filtering predicates4.
How is unstructured data retrieved from data storage?
SQL functions like the GET command can be used to copy the unstructured data to a location on the client.
SQL functions can be used to create different types of URLs pointing to the unstructured data. These URLs can be used to download the data to a client.
SQL functions can be used to retrieve the data from the query results cache. When the query results are output to a client, the unstructured data will be output to the client as files.
SQL functions can call on different web extensions designed to display different types of files as a web page. The web extensions will allow the files to be downloaded to the client.
Unstructured data stored in Snowflake can be retrieved by using SQL functions to generate URLs that point to the data. These URLs can then be used to download the data directly to a client
Which commands are restricted in owner ' s rights stored procedures? (Select TWO).
SHOW
MERGE
INSERT
DELETE
DESCRIBE
In owner’s rights stored procedures, certain commands are restricted to maintain security and integrity. The SHOW and DESCRIBE commands are limited because they can reveal metadata and structure information that may not be intended for all roles.
Which Snowflake function will parse a JSON-null into a SQL-null?
TO_CHAR
TO_VARIANT
TO_VARCHAR
STRIP NULL VALUE
The STRIP_NULL_VALUE function in Snowflake is used to convert a JSON null value into aSQL NULL value1.
What will prevent unauthorized access to a Snowflake account from an unknown source?
Network policy
End-to-end encryption
Multi-Factor Authentication (MFA)
Role-Based Access Control (RBAC)
A network policy in Snowflake is used to restrict access to the Snowflake account from unauthorized or unknown sources. It allows administrators to specify allowed IP address ranges, thus preventing access from any IP addresses not listed in the policy1.
What is the primary purpose of a directory table in Snowflake?
To store actual data from external stages
To automatically expire file URLs for security
To manage user privileges and access control
To store file-level metadata about data files in a stage
A directory table in Snowflake is used to store file-level metadata about the data files in a stage. It is conceptually similar to an external table and provides information such as file size, last modified timestamp, and file URL. References: [COF-C03] SnowPro Core Certification Exam Study Guide
A JSON file, that contains lots of dates and arrays, needs to be processed in Snowflake. The user wants to ensure optimal performance while querying the data.
How can this be achieved?
Flatten the data and store it in structured data types in a flattened table. Query the table.
Store the data in a table with a variant data type. Query the table.
Store the data in a table with a vai : ant data type and include STRIP_NULL_VALUES while loading the table. Query the table.
Store the data in an external stage and create views on top of it. Query the views.
Storing JSON data in a table with a VARIANT data type is optimal for querying because it allows Snowflake to leverage its semi-structured data capabilities. This approach enables efficient storage and querying without the need for flattening the data, which can be performance-intensive1.
How can a dropped internal stage be restored?
Enable Time Travel.
Clone the dropped stage.
Execute the UNDROP command.
Recreate the dropped stage.
Once an internal stage is dropped in Snowflake, it cannot be recovered or restored using Time Travel or UNDROP commands. The only option is to recreate the dropped stage
Which statistics are displayed in a Query Profile that indicate that intermediate results do not fit in memory? (Select TWO).
Bytes scanned
Partitions scanned
Bytes spilled to local storage
Bytes spilled to remote storage
Percentage scanned from cache
The Query Profile statistics that indicate intermediate results do not fit in memory are the bytes spilled to local storage and bytes spilled to remote storage2.
Which views are included in the DATA SHARING USAGE schema? (Select TWO).
ACCESS_HISTORY
DATA_TRANSFER_HISTORY
WAREHOUSE_METERING_HISTORY
MONETIZED_USAGE_DAILY
LISTING TELEMETRY DAILY
The DATA_SHARING_USAGE schema includes views that display information about listings published in the Snowflake Marketplace or a data exchange, which includes DATA_TRANSFER_HISTORY and LISTING_TELEMETRY_DAILY2.
Which Snowflake database object can be used to track data changes made to table data?
Tag
Task
Stream
Stored procedure
A Stream object in Snowflake is used for change data capture (CDC), which records data manipulation language (DML) changes made to tables, including inserts, updates, and deletes3.
What does a masking policy consist of in Snowflake?
A single data type, with one or more conditions, and one or more masking functions
A single data type, with only one condition, and only one masking function
Multiple data types, with only one condition, and one or more masking functions
Multiple data types, with one or more conditions, and one or more masking functions
A masking policy in Snowflake consists of a single data type, with one or more conditions, and one or more masking functions. These components define how the data is masked based on the specified conditions3.
What step can reduce data spilling in Snowflake?
Using a larger virtual warehouse
Increasing the virtual warehouse maximum timeout limit
Increasing the amount of remote storage for the virtual warehouse
Using a common table expression (CTE) instead of a temporary table
To reduce data spilling in Snowflake, using a larger virtual warehouse is effective because it provides more memory and local disk space, whichcan accommodate larger data operations and minimize the need to spill data to disk or remote storage1. References: [COF-C03] SnowPro Core Certification Exam Study Guide
What feature of Snowflake Continuous Data Protection can be used for maintenance of historical data?
Access control
Fail-safe
Network policies
Time Travel
Snowflake’s Time Travel feature is used for the maintenance of historical data, allowing users to access andrestore data that has been changed or deleted within a defined period4.
Which parameter can be set at the account level to set the minimum number of days for which Snowflake retains historical data in Time Travel?
DATA_RETENTION_TIME_IN_DAYS
MAX_DATA_EXTENSION_TIME_IN_DAYS
MIN_DATA_RETENTION_TIME_IN_DAYS
MAX CONCURRENCY LEVEL
Theparameter DATA_RETENTION_TIME_IN_DAYS can be set at the account level to define the minimum number ofdays Snowflake retains historical data for Time Travel1.
Which statistics can be used to identify queries that have inefficient pruning? (Select TWO).
Bytes scanned
Bytes written to result
Partitions scanned
Partitions total
Percentage scanned from cache
The statistics that can be used to identify queries with inefficient pruning are ‘Partitions scanned’ and ‘Partitions total’. These statistics indicate how much of the data was actually needed and scanned versus the total available, which can highlight inefficiencies in data pruning34.
A user wants to access files stored in a stage without authenticating into Snowflake. Which type of URL should be used?
File URL
Staged URL
Scoped URL
Pre-signed URL
A Pre-signed URL should be used to access files stored in a Snowflake stage without requiring authentication into Snowflake. Pre-signed URLs are simple HTTPS URLs that provide temporary access to a file via a web browser, using a pre-signed access token. The expiration time for the access token is configurable, and this type of URL allows users or applications to directly access or download the fileswithout needing to authenticate into Snowflake5.
What factors impact storage costs in Snowflake? (Select TWO).
The account type
The storage file format
The cloud region used by the account
The type of data being stored
The cloud platform being used
The factors that impact storage costs in Snowflake include the account type (Capacity or On Demand) and the cloud region used by the account. These factors determine the rate at which storage is billed, with different regions potentially having different rates3.
When using the ALLOW CLIENT_MFA_CACHING parameter, how long is a cached Multi-Factor Authentication (MFA) token valid for?
1 hour
2 hours
4 hours
8 hours
When using the ALLOW_CLIENT_MFA_CACHING parameter, a cached Multi-Factor Authentication (MFA) token is valid for up to 4 hours. This allows for continuous, secure connectivity without users needing to respond to an MFA prompt at the start of each connection attempt to Snowflake within this timeframe2.
Which metadata table will store the storage utilization information even for dropped tables?
DATABASE_STORAGE_USAGE_HISTORY
TABLE_STORAGE_METRICS
STORAGE_DAILY_HISTORY
STAGE STORAGE USAGE HISTORY
The TABLE_STORAGE_METRICS metadata table stores the storage utilization information, including for tables that have been dropped but are still incurring storage costs2.
What happens to the objects in a reader account when the DROP MANAGED ACCOUNT command is executed?
The objects are dropped.
The objects enter the Fail-safe period.
The objects enter the Time Travel period.
The objects are immediately moved to the provider account.
When the DROP MANAGED ACCOUNT command is executed in Snowflake, it removes the managed account, including all objects created within the account, and access to the account is immediately restricted2.
Which command is used to start configuring Snowflake for Single Sign-On (SSO)?
CREATE SESSION POLICY
CREATE NETWORK RULE
CREATE SECURITY INTEGRATION
CREATE PASSWORD POLICY
To start configuring Snowflake for Single Sign-On (SSO), the CREATE SECURITY INTEGRATION command is used. This command sets up a security integration object in Snowflake, which is necessary for enabling SSO with external identity providers using SAML 2.01.
Which operation can be performed on Snowflake external tables?
INSERT
JOIN
RENAME
ALTER
Snowflake external tables are read-only, which means data manipulation language (DML) operations like INSERT, RENAME, or ALTER cannot be performed on them. However, external tables can be used for query and join operations3.
How can a Snowflake user validate data that is unloaded using the COPY INTO < location > command?
Load the data into a CSV file.
Load the data into a relational table.
Use the VALlDATlON_MODE - SQL statement.
Use the validation mode = return rows statement.
To validate data unloaded using the COPY INTO < location > command, a Snowflakeuser can use the VALIDATION_MODE parameter within the SQL statement to test the files for errors without loading them3.
Which Snowflake feature allows a user to track sensitive data for compliance, discovery, protection, and resource usage?
Tags
Comments
Internal tokenization
Row access policies
Tags in Snowflake allow users to track sensitive data for compliance, discovery, protection, and resource usage. They enable the categorization and tracking of data, supporting compliance with privacy regulations678. References: [COF-C03] SnowPro Core Certification Exam Study Guide
Which command is used to unload data from a Snowflake database table into one or more files in a Snowflake stage?
CREATE STAGE
COPY INTO < table >
COPY INTO < location >
CREATE PIPE
The COPY INTO < location > command is used to unload data from a Snowflake database table into one or more files in a Snowflake stage1.
What function can be used with the recursive argument to return a list of distinct key names in all nested elements in an object?
FLATTEN
GET_PATH
CHECK_JSON
PARSE JSON
The FLATTEN function can be used with the recursive argument to return a list of distinct key names in all nested elements within an object. This function is particularly useful for working with semi-structured data in Snowflake
What transformations are supported when loading data into a table using the COPY INTO < table > command? (Select TWO).
Column reordering
Column omission
JOIN function
FLATTEN function
GROUP BY function
The COPY INTO < table > command in Snowflake supports column reordering and column omission as part of its data transformation capabilities during the load process45.
Which type of loop requires a BREAK statement to stop executing?
FOR
LOOP
REPEAT
WHILE
The LOOP type of loop in Snowflake Scripting does not have a built-in termination condition and requires a BREAK statement to stop executing4.
What does SnowCD help Snowflake users to do?
Copy data into files.
Manage different databases and schemas.
Troubleshoot network connections to Snowflake.
Write SELECT queries to retrieve data from external tables.
SnowCD is a connectivity diagnostic tool that helps users troubleshoot network connections to Snowflake. It performs a series of checks to evaluate the network connection and provides suggestions for resolving any issues4.
Which statements describe benefits of Snowflake ' s separation of compute and storage? (Select TWO).
The separation allows independent scaling of computing resources.
The separation ensures consistent data encryption across all virtual data warehouses.
The separation supports automatic conversion of semi-structured data into structured data for advanced data analysis.
Storage volume growth and compute usage growth can be tightly coupled.
Compute can be scaled up or down without the requirement to add more storage.
Snowflake’s architecture allows for the independent scaling of compute resources, meaning you can increase or decrease the computational power as needed without affecting storage. This separation also means that storage can grow independently of compute usage, allowing for more flexible and cost-effective data management.
What Snowflake feature provides a data hub for secure data collaboration, with a selected group of invited members?
Data Replication
Secure Data Sharing
Data Exchange
Snowflake Marketplace
Snowflake’s Data Exchange feature provides a data hub for secure data collaboration. It allows providers to publish data that can be discovered and accessed by a selectedgroup of invited members, facilitating secure and controlled data sharing within a collaborative environment3. References: [COF-C03] SnowPro Core Certification Exam Study Guide
Which Snowflake object does not consume any storage costs?
Secure view
Materialized view
Temporary table
Transient table
Temporary tables do not consume any storage costs in Snowflake because they only exist for theduration of the session that created them and are automatically dropped when the session ends, thus incurring no long-term storage charges4. References: [COF-C03] SnowPro Core Certification Exam Study Guide
What is a characteristic of materialized views in Snowflake?
Materialized views do not allow joins.
Clones of materialized views can be created directly by the user.
Multiple tables can be joined in the underlying query of a materialized view.
Aggregate functions can be used as window functions in materialized views.
One of the characteristics of materialized views in Snowflake is that they allow multiple tables to be joined in the underlying query. This enables the pre-computation of complex queries involving joins, which can significantly improve the performance of subsequent queries that access the materialized view4. References: [COF-C03] SnowPro Core Certification Exam Study Guide
When enabling access to unstructured data, which URL permits temporary access to a staged file without the need to grant privileges to the stage or to issue access tokens?
File URL
Scoped URL
Relative URL
Pre-Signed URL
A Scoped URL permits temporary access to a staged file without the need to grant privileges to the stage or to issue access tokens. It provides a secure way to share access to filesstored in Snowflake
What is the relationship between a Query Profile and a virtual warehouse?
A Query Profile can help users right-size virtual warehouses.
A Query Profile defines the hardware specifications of the virtual warehouse.
A Query Profile can help determine the number of virtual warehouses available.
A Query Profile automatically scales the virtual warehouse based on the query complexity.
A Query Profile provides detailed execution information for a query, which can be used to analyze the performance and behavior of queries. This information can help users optimize and right-size their virtual warehouses for better efficiency. References: [COF-C03] SnowPro Core Certification Exam Study Guide
Which Snowflake role can manage any object grant globally, including modifying and revoking grants?
USERADMIN
ORGADMIN
SYSADMIN
SECURITYADMIN
The SECURITYADMIN role in Snowflake can manage any object grant globally, including modifying and revoking grants. This role has the necessary privileges to oversee and control access to all securable objects within the Snowflake environment4.
Which Snowflake feature provides increased login security for users connecting to Snowflake that is powered by Duo Security service?
OAuth
Network policies
Single Sign-On (SSO)
Multi-Factor Authentication (MFA)
Multi-Factor Authentication (MFA) provides increased login security for users connecting to Snowflake. Snowflake’s MFA is powered by Duo Security service, which adds an additional layer of security during the login process.
A Snowflake account has activated federated authentication.
What will occur when a user with a password that was defined by Snowflake attempts to log in to Snowflake?
The user will be unable to enter a password.
The user will encounter an error, and will not be able to log in.
The user will be able to log into Snowflake successfully.
After entering the username and password, the user will be redirected to an Identity Provider (IdP) login page.
When federated authentication is activated in Snowflake, users authenticate via an external identity provider (IdP) rather than using Snowflake-managed credentials. Therefore, a user with a password defined by Snowflake will be unable to enter a password and must use their IdP credentials to log in.
QUSTION NO:579
What value provides information about disk usage for operations where intermediate results do not fit in memory in a Query Profile?
A. IO
B. Network
C. Pruning
D. Spilling
Answer: D
In Snowflake, when a query execution requires more memory than what is available, Snowflake handles these situations by spilling the intermediate results to disk. This process is known as " spilling. " The Query Profile in Snowflake includes a metric that helps users identify when and how much data spilling occurs during the execution of a query. This information is crucial for optimizing queries as excessive spilling can significantly slow down query performance. The value that provides this information about disk usage due to intermediate results not fitting in memory is appropriately labeled as " Spilling " in the Query Profile.
When working with a managed access schema, who has the OWNERSHIP privilege of any tables added to the schema?
The database owner
The object owner
The schema owner
The Snowflake user ' s role
In a managed access schema, the schema owner retains the OWNERSHIP privilege of any tables added to the schema. This means that while object owners have certain privileges over the objects they create, only the schema owner can manage privilege grants on these objects1.
What is the purpose of the STRIP NULL_VALUES file format option when loading semi-structured data files into Snowflake?
It removes null values from all columns in the data.
It converts null values to empty strings during loading.
It skips rows with null values during the loading process.
It removes object or array elements containing null values.
The STRIP NULL_VALUES file format option, when set to TRUE, removes object or array elements that contain null values during the loading process of semi-structured data files into Snowflake. This ensures that the data loaded into Snowflake tables does not contain these null elements, which can be useful when the “null” values in files indicate missingvalues and have no other special meaning2.
Which function unloads data from a relational table to JSON?
TO_OBJECT
TO_JSON
TO_VARIANT
OBJECT CONSTRUCT
The TO_JSON function is used to convert a VARIANT value into a string containing the JSON representation of the value. This function is suitable for unloading data from a relational table to JSON format. References: [COF-C03] SnowPro Core Certification Exam Study Guide
Which Snowflake view is used to support compliance auditing?
ACCESS_HISTORY
COPY_HISTORY
QUERY_HISTORY
ROW ACCESS POLICIES
The ACCESS_HISTORY view in Snowflake is utilized to support compliance auditing. It provides detailed information on data access within Snowflake, including reads and writes by user queries. This view is essential for regulatory compliance auditing as it offers insights into the usage of tables and columns, and maintains a direct link between the user, the query, and the accessed data1.
Which Snowflake feature allows administrators to identify unused data that may be archived or deleted?
Access history
Data classification
Dynamic Data Masking
Object tagging
The Access History feature in Snowflake allows administrators to track data access patterns and identify unused data. This information can be used to make decisions about archiving or deleting data to optimize storage and reduce costs.
Which commands can only be executed using SnowSQL? (Select TWO).
COPY INTO
GET
LIST
PUT
REMOVE
The LIST and PUT commands are specific to SnowSQL and cannot be executed in the web interface or other SQL clients. LIST is used to display the contents of a stage, and PUT is used to upload files to a stage. References: [COF-C03] SnowPro Core Certification Exam Study Guide
While working with unstructured data, which file function generates a Snowflake-hosted file URL to a staged file using the stage name and relative file path as inputs?
GET_PRESIGNED_URL
GET_ABSOLUTE_PATH
BUILD_STAGE_FILE_URL
BUILD SCOPED FILE URL
The BUILD_STAGE_FILE_URL function generates a Snowflake-hosted file URL to a staged file using the stage name and relative file path as inputs2.
Which Snowflake data types can be used to build nested hierarchical data? (Select TWO)
INTEGER
OBJECT
VARIANT
VARCHAR
LIST
The Snowflake data types that can be used to build nested hierarchical data are OBJECT and VARIANT. These data types support the storage and querying of semi-structured data, allowing for the creation of complex, nested data structures
What objects in Snowflake are supported by Dynamic Data Masking? (Select TWO). '
Views
Materialized views
Tables
External tables
Future grants
Dynamic Data Masking in Snowflake supports tables and views. These objects can have masking policies applied to their columns to dynamically mask data at query time3.
At what level is the MIN_DATA_RETENTION_TIME_IN_DAYS parameter set?
Account
Database
Schema
Table
The MIN_DATA_RETENTION_TIME_IN_DAYS parameter is set at the account level. This parameter determinesthe minimum number of days Snowflake retains historical data for Time Travel operations
What is a directory table in Snowflake?
A separate database object that is used to store file-level metadata
An object layered on a stage that is used to store file-level metadata
A database object with grantable privileges for unstructured data tasks
A Snowflake table specifically designed for storing unstructured files
A directory table in Snowflake is an object layered on a stage that is used to store file-level metadata. It is not a separate database object but is conceptually similar to an external table because it stores metadata about the data files in the stage5.
What are type predicates used for?
Extracting data from a variant column
Casting a value in a variant column to a particular data type
Determining if a value in a variant column is a particular data type
Manipulating objects and arrays in a VARIANT column
Type predicates in Snowflake are used to determine if a value in a VARIANT column is of a particular data type. This is useful when working with semi-structured data stored in VARIANT columns, as it allows for data type validation and conditional processing based on the data type.
Snowflake Documentation: Type Predicates
A user notices that query performance has decreased. The virtual warehouses appear to be properly sized and are functioning correctly. The user suspects the issue lies within the services responsible for query planning and access validation. Which components of Snowflake architecture would be involved in diagnosing or optimizing this issue? Select TWO.
The services handling authentication and access control.
The services managing data loading and ETL operations.
The services controlling warehouse scaling and suspension.
The services managing data micro-partitioning and file storage.
The services responsible for query parsing and optimization.
Snowflake’s Cloud Services layer handles authentication, access control, metadata management, query parsing, and query optimization. Since the issue is suspected to involve query planning and access validation, the relevant components are access control and query parsing/optimization.
What privileges are required to allow role RL_CUST_WH to start warehouse CUST_WH?
GRANT OPERATE ON CUST_WH TO ROLE RL_CUST_WH;
GRANT CREATE WAREHOUSES ON ACCOUNT TO ROLE RL_CUST_WH;
GRANT MANAGE WAREHOUSES ON ACCOUNT TO ROLE RL_CUST_WH;
GRANT USAGE ON CUST_WH TO ROLE RL_CUST_WH;
To start, resume, or suspend a warehouse, the role needs the OPERATE privilege. USAGE only allows reference to the object but not its activation.
Required Privileges for Starting a Warehouse:
USAGE (to reference)
OPERATE (to start/stop)
How can a Data Exchange Administrator provide a user with account access to a Data Exchange?
Grant the user the USERADMIN role.
Add the user to the Data Exchange.
Enable the IMPORT SHARE privilege and grant this privilege to the user.
Create a new database for the Data Exchange and provide access to the user.
Which command can be used to list all network policies available in an account?
DESCRIBE SESSION POLICY
DESCRIBE NETWORK POLICY
SHOW SESSION POLICIES
SHOW NETWORK POLICIES
To list all network policies available in an account, the correct command isSHOW NETWORK POLICIES. Network policies in Snowflake are used to define and enforce rules for how users can connect to Snowflake, including IP whitelisting and other connection requirements. TheSHOW NETWORK POLICIEScommand provides a list of all network policies defined within the account, along with their details.
TheDESCRIBE SESSION POLICYandDESCRIBE NETWORK POLICYcommands do not exist in Snowflake SQL syntax. TheSHOW SESSION POLICIEScommand is also incorrect, as it does not pertain to the correct naming convention used by Snowflake for network policy management.
UsingSHOW NETWORK POLICIESwithout any additional parameters will display all network policies in the account, which is useful for administrators to review and manage the security configurations pertaining to network access.
An engineer has a connection named dev_project in the Snowflake CLI config.toml file. The connection specifies a role other than SYSADMIN.
The engineer then runs:
snow sql -c dev_project
When the engineer executes:
SELECT CURRENT_ROLE();
the query returns SYSADMIN.
Why did Snowflake CLI use the SYSADMIN role?
SYSADMIN is the engineer’s default role and cannot be overridden by the config.toml file.
The [connections.dev_project] connection in the config.toml file was missing a warehouse parameter, w hich caused Snowflake CLI to ignore the role parameter.
A SNOWFLAKE_ROLE environment variable was set to SYSADMIN, and environment variables take precedence over values in the config.toml file.
The config.toml file is used only when the connection and role are also supplied as command-line parameters.
Snowflake CLI can obtain connection parameters from multiple sources. When the same connection parameter is specified in more than one place, the higher-precedence source overrides the lower-precedence source.
An environment variable such as SNOWFLAKE_ROLE overrides the role configured for the connection in config.toml. Therefore, when SNOWFLAKE_ROLE=SYSADMIN is present, the CLI session uses SYSADMIN, even when the selected connection specifies another role.
A missing warehouse does not cause Snowflake CLI to ignore the configured role. A user’s default role can also be overridden when another valid role is explicitly supplied through a higher-precedence configuration source.
How does Snowflake define i1s approach to Discretionary Access Control (DAC)?
A defined level of access to an object
An entity in which access can be granted
Each object has an owner, who can in turn grail access to that object.
Access privileges are assigned to roles. which are in turn assigned to use ' s
Snowflake implements Discretionary Access Control (DAC) by using a role-based access control model. In this model, access privileges are not directly assigned to individual objects or users but are encapsulated within roles. These roles are then assigned to users, effectively granting them the access privileges contained within the role. This approach allows for granular control over database access, making it easier to manage permissions in a scalable and flexible manner.
When sharing data among multiple Snowflake accounts, what charges are incurred by a data consumer when viewing shared data using their own account?
Cloud services charges
Compute charges
Data storage charges
Data egress charges
Which statement will execute a stored procedure?
CALL proc1(SELECT COUNT(*) FROM < table > );
CALL proc1(1) + proc1(2);
CALL proc1(1) + IF
CALL proc1(proc2(1));
You execute a stored procedure using the CALL command. Nested procedure calls are allowed where the result of one procedure is passed as an argument to another.
Correct syntax:
CALL proc1(proc2(1));
What is the MINIMUM Snowflake edition that supports the periodic rekeying of encrypted data?
Standard
Enterprise
Business Critical
Virtual Private Snowflake (VPS)
Why would a Snowflake user load JSON data into a VARIANT column instead of a string column?
A VARIANT column is more secure than a string column
A VARIANT column compresses data and a string column does not.
A variant column can be used to create a data hierarchy and a string column cannot
A VARIANT column will have a better query performance than a string column.
A VARIANT column in Snowflake is specifically designed to store semi-structured data, such as JSON, and allows for the creation of a data hierarchy. Unlike string columns, VARIANT columns can natively handle JSON data structures, enabling complex querying and manipulation of hierarchical data using functions designed for semi-structured data.
Snowflake Documentation: VARIANT Data
Which Snowflake data governance feature can support auditing when a user query reads column data?
Access History
Data classification
Column-level security
Object dependencies
Access History in Snowflake is a feature designed to support auditing by tracking access to data within Snowflake, including when a user ' s query reads column data. It provides detailed information on queries executed, including the user who ran the query, the query text, and the objects (e.g., tables, views) accessed by the query. This feature is instrumental for auditing purposes, helping organizations to monitor and audit data access for security and compliance.
What data-type constructs are used to create a hierarchy when organizing semi-structured data? (Select TWO).
A VARIANT can hold a value of any other data type.
An ARRAY or OBJECT holds a value of type INTEGER.
An ARRAY or OBJECT holds a value of type VARIANT.
An ARRAY or OBJECT holds a value of type VARCHAR.
An ARRAY or OBJECT holds a value of type VECTOR.
When a replication schedule is set, how does Snowflake manage refreshes for failover groups?
Multiple refreshes will run concurrently.
Only one refresh will run at a time.
Refreshes will run regardless of role privileges.
If the current refresh was delayed, the next scheduled refresh will be canceled.
The correct answer is B. Only one refresh will run at a time .
Failover groups can be refreshed on a schedule to replicate supported account objects and database objects to target accounts. Snowflake does not run overlapping refresh operations for the same failover group.
Why B is correct:
If a scheduled refresh is still running, Snowflake does not start another concurrent refresh for the same failover group. Refresh operations are managed so that only one refresh runs at a time.
Why the other options are incorrect:
A. Multiple refreshes for the same failover group do not run concurrently.
C. Refreshes still require the appropriate privileges and configured replication/failover group permissions.
D. A delayed or long-running refresh does not mean the next refresh is automatically canceled in the way stated. The key behavior is that refreshes do not overlap.
Official Snowflake documentation reference:
Snowflake documentation for replication and failover groups explains that scheduled refreshes are managed by Snowflake and that refresh operations do not run concurrently for the same group.
The ORDERS table contains 12,000 rows.
Which query will return 10 rows that are randomly sampled from the table every time the query is run?
select * from ORDERS fetch 10;
select * from ORDERS limit 10;
select * from ORDERS sample (10);
select * from ORDERS tablesample (10 rows);
A Finance department must ensure that only users operating with the FINANCE_ANALYST role can see unmasked values in the SALARY column of a sensitive table.
Which feature and configuration should be used?
Use a row access policy to filter rows based on the role, and apply masking functions in each query.
Use a network policy and masking functions to restrict access to the SALARY column.
Apply one masking policy at the schema level to every column in the schema.
Create a masking policy with conditional role logic and attach the policy to the SALARY column.
A masking policy is a schema-level policy object that defines how a column value is returned based on execution context. The policy is attached to the sensitive column.
The policy can inspect role context by using a function such as CURRENT_ROLE() or, where role hierarchy and secondary-role activation must be considered, IS_ROLE_IN_SESSION().
Conceptually, the policy returns the original salary when the authorized role is active and returns a masked or null value otherwise. For example:
CASE WHEN IS_ROLE_IN_SESSION( ' FINANCE_ANALYST ' ) THEN salary_value ELSE NULL END
A row access policy controls which rows are visible; it is not the primary control for masking one column’s values. Network policies restrict where users can connect from and do not implement column-level masking.
Which Snowflake object can be used to record DML changes made to a table?
Snowpipe
Stage
Stream
Task
Snowflake Streams are used to track and record Data Manipulation Language (DML) changes made to a table. Streams capture changes such as inserts, updates, and deletes, which can then be processed by other Snowflake objects or external applications.
Creating a Stream:
CREATE OR REPLACE STREAM my_stream ON TABLE my_table;
Using Streams:Streams provide a way to process changes incrementally, making it easier to build efficient data pipelines.
Consuming Stream Data:The captured changes can be consumed using SQL queries or Snowflake tasks.
Which strategy is recommended to improve the performance of a large, complex query?
Add more storage
Convert to a multi-cluster warehouse
Increase the size of the warehouse
Run the query during off-peak hours
To improve the performance of compute-intensive queries, increasing the warehouse size (e.g., from Medium to Large or X-Large) provides more compute resources (CPU/memory) , allowing Snowflake to process queries faster. This is the most direct and effective method for performance optimization.
What should be considered before implementing a Snowflake Data Clean Room?
Participants can run unrestricted SQL queries directly against another participant’s protected data.
Providers can configure and share clean rooms only with individual users in other Snowflake accounts.
A consumer must be approved by a clean-room administrator before the consumer can be invited.
The regional locations of the participating Snowflake accounts must be considered because collaboration availability and cross-region requirements depend on the clean-room deployment.
Snowflake Data Clean Rooms provide controlled collaboration between parties without exposing the underlying protected data directly. Participants perform approved analyses through the clean room’s permitted templates and policies; they do not receive unrestricted access to another party’s raw data.
The Snowflake account locations of the provider and consumer are an implementation consideration. Earlier Data Clean Room implementations commonly required collaborators to use accounts in the same supported region. Newer Snowflake capabilities may support cross-region or cross-cloud collaboration under additional configuration and availability requirements.
Therefore, this question should not state an unconditional, permanent rule that every clean-room participant must always be in the same geographic region. The technically corrected option is that region compatibility and supported cross-region capabilities must be evaluated before implementation.
The original version of this question likely expected “All participating accounts must be in the same geographic region.” That answer should be used only when the applicable SnowPro study guide or exam version explicitly documents that limitation.
What is the primary purpose for configuring multiple Identity Providers, or IdPs, in Snowflake?
To enforce complex password rules
To improve the performance of a query
To manage encryption keys for secure data storage
To allow different authentication methods for multiple user groups
The correct answer is D. To allow different authentication methods for multiple user groups .
Multiple identity providers allow an organization to support different authentication configurations for different users, departments, partners, or applications. This is useful when separate user groups authenticate through different SSO providers or require different authentication flows.
Why D is correct:
Configuring multiple IdPs allows Snowflake to support multiple federated authentication integrations and assign appropriate authentication behavior to different users or groups.
Why the other options are incorrect:
A. Complex password rules are controlled by password policies, not by configuring multiple IdPs.
B. Identity providers affect authentication, not query performance.
C. Encryption key management is handled by Snowflake encryption features and key management options, not IdP configuration.
Official Snowflake documentation reference:
Snowflake documentation describes federated authentication and multiple identity provider support as a way to configure different SSO/authentication integrations for different users.
Which Snowflake table type persists until it is explicitly dropped. is available for all users with relevant privileges (across sessions). and has no Fail-safe period?
External
Permanent
Temporary
Transient
The type of Snowflake table that persists until it is explicitly dropped, is available for all users with relevant privileges across sessions, and does not have a Fail-safe period, is a Transient table. Transient tables are designed to provide temporary storage similar to permanent tables but with some reduced storage costs and without the Fail-safe feature, which provides additional data protection for a period beyond the retention time. Transient tables are useful in scenarios where data needs to be temporarily stored for longer than a session but does not require the robust durability guarantees of permanent tables.
What command is used to export or unload data from Snowflake?
PUT @mystage
GET @mystage
COPY INTO @mystage
INSERT @mystage
The command used to export or unload data from Snowflake to a stage (such as a file in an S3 bucket, Azure Blob Storage, or Google Cloud Storage) is thePUTcommand. ThePUTcommand is designed to upload data files from a local file system (in the case of SnowSQL or other client) or a virtual warehouse to a specified stage. This functionality is critical for scenarios where data needs to be extracted from Snowflake for use in external systems, backups, or further processing.
The syntax for thePUTcommand follows the structure:PUT file:// < local_file_path > @ < stage_name > , where < local_file_path > specifies the path to the file(s) on the localfile system that you wish to upload, and < stage_name > specifies the destination stage in Snowflake.
It ' s important to distinguish that thePUTcommand is used for exporting data out of Snowflake, whereas theCOPY INTO < table > command is used for importing data into Snowflake from a stage. TheGETcommand, on the other hand, is used to download files from a stage to the local file system, essentially the inverse operation of thePUTcommand.
A table was created using this statement:

Which feature of this table will incur both compute and storage costs?
The row access policy
The Automatic Clustering
The Dynamic Data Masking policy
The not null constraint
Which table type exists only within the session it was created and is only visible to the user who created it?
Hybrid
Dynamic
Transient
Temporary
The correct answer is D. Temporary .
A temporary table exists only for the duration of the session in which it was created. It is only visible to the user session that created it and is automatically dropped when the session ends.
Why D is correct:
Temporary tables are useful for session-specific intermediate data. They do not persist beyond the session and are not visible to other users or sessions.
Example:
CREATE TEMPORARY TABLE temp_sales AS
SELECT *
FROM sales
WHERE sales_date = CURRENT_DATE;
Why the other options are incorrect:
A. Hybrid tables are optimized for transactional workloads and are not session-only objects.
B. Dynamic tables are used for declarative, automated data transformation and are persistent database objects.
C. Transient tables persist until explicitly dropped and are visible according to granted privileges. They do not have Fail-safe, but they are not session-only.
Official Snowflake documentation reference:
Snowflake documentation describes temporary tables as existing only within the session in which they are created and being dropped automatically at the end of the session.
Which features are included in Snowsight? (Select TWO)
Worksheet sharing
Referencing SnowSQL
Exploring the Snowflake Marketplace
Changing the Snowflake account cloud provider
Downloading query result data larger than 100 MB
Which Snowflake table is an implicit object layered on a stage, where the stage can be either internal or external?
Directory table
Temporary table
Transient table
A table with a materialized view
A directory table in Snowflake is an implicit object layered on a stage, whether internal or external. It allows users to query the contents of a stage as if it were a table, providing metadata about the files stored in the stage, such as filenames, file sizes, and last modified timestamps.
Snowflake Documentation: Directory Tables
What is the !define < variable > = < value > command used for in SnowSQL?
Assigns a name to a variable
Assigns a value to a variable
Sets the context for a variable
Establishes the metrics of a variable
The correct answer is B. Assigns a value to a variable .
Corrected wording:
The original command was written as idefine < variable > = < value > . In SnowSQL, the correct command is:
!define < variable > = < value >
SnowSQL supports variables that can be defined and reused in SQL scripts or interactive sessions. The !define command assigns a value to a variable.
Why B is correct:
!define < variable > = < value > creates or sets a SnowSQL variable to the specified value.
Example:
!define table_name=my_table
SELECT *
FROM & table_name;
In this example, table_name is assigned the value my_table, and the variable can then be referenced later in the script.
Why the other options are incorrect:
A. The variable name is part of the command syntax, but the purpose of the command is to assign a value to that variable.
C. Context is usually set with commands such as USE DATABASE, USE SCHEMA, USE WAREHOUSE, or SnowSQL connection options.
D. The command does not establish metrics.
Official Snowflake documentation reference:
Snowflake documentation for SnowSQL explains that !define is used to define variables for use in SnowSQL sessions or scripts.
Which actions can be performed using a resource monitor in Snowflake? (Select TWO).
Monitor the performance of individual queries in real-time
Automatically allocate more storage space to a virtual warehouse
Modify the queries being executed within a virtual warehouse.
Suspend a virtual warehouse when its credit usage reaches a defined limit.
Trigger a notification to account administrators when credit usage reaches a specified threshold
Resource monitors in Snowflake can perform actions such as suspending a virtual warehouse when its credit usage reaches a defined limit and triggering a notification to account administrators when credit usage reaches a specified threshold. These actions help manage and control resource usage and costs within Snowflake.
Snowflake Documentation: Resource Monitors
What persistent data structures are used by the search optimization service to improve the performance of point lookups?
Micro-partitions
Clustering keys
Equality searches
Search access paths
The search optimization service in Snowflake uses persistent data structures known as search access paths to improve the performance of point lookups. These structures enable efficient retrieval of data by reducing the amount of data scanned during queries.
Search Access Paths:
Search access paths are special indexing structures maintained by the search optimization service.
They store metadata about the distribution of data within tables, enabling faster lookups for specific values.
Point Lookups:
Point lookups involve searching for a specific value within a column.
By leveraging search access paths, Snowflake can quickly locate the exact micro-partition containing the value, minimizing the amount of data scanned.
Performance Improvement:
The use of search access paths significantly reduces query execution time for point lookups.
This is especially beneficial for large tables where scanning all micro-partitions would be computationally expensive.
Snowflake Documentation: Search Optimization Service
Snowflake Documentation: Understanding Search Access Paths
What is the least-privileged database role needed to view the definition of a secure materialized view?
USAGE_VIEWER
OBJECT_VIEWER
SECURITY_VIEWER
GOVERNANCE_VIEWER
The USAGE_VIEWER role is the minimum required to view metadata and definitions of governance-enabled or secure objects like secure materialized views .
Which type of charts are supported by Snowsight? {Select TWO)
Flowcharts
Gantt charts
Line charts
Pie charts
Scatterplots
Which option will replace NULL values with an empty string while unloading data into a file?
null_if=( ' NULL ' )
null_if= ( ' ' )
FIELD_OPTIONALLY_ENCLOSED_BY = NONE
EMPTY_FIELD_AS_NULL = TRUE
How does Snowflake Copilot interact with customer data?
Copilot analyzes customer data to optimize query performance.
Copilot provides assistance when creating and interpreting queries.
Copilot rewrites table schemas based on inferred patterns in customer datasets.
Copilot executes stored procedures in response to natural language prompts.
The correct answer is B. Copilot provides assistance when creating and interpreting queries .
Snowflake Copilot is an AI-assisted feature that helps users work with Snowflake more efficiently. It can assist with writing SQL, understanding queries, and interpreting query-related information.
Why B is correct:
Copilot is designed to help users create, refine, and understand SQL queries using natural language assistance.
Why the other options are incorrect:
A. Query optimization is primarily handled by Snowflake’s optimizer and performance features, not Copilot.
C. Copilot does not automatically rewrite table schemas based on inferred data patterns.
D. Copilot is not primarily a feature for executing stored procedures from prompts.
Official Snowflake documentation reference:
Snowflake documentation describes Snowflake Copilot as an AI assistant for helping users generate, understand, and work with SQL and Snowflake data workflows.
What is the impact of removing some of the privileges granted to a role?
The role will retain all privileges until a new session is started.
The role will lose access to objects that are not granted to the updated role.
The user will have to reinstate the role using the USE ROLE command after the change.
Any users who are actively using the role will have their current session terminated.
The correct answer is B. The role will lose access to objects that are not granted to the updated role .
Snowflake access control is based on privileges granted to roles. Users receive access to objects through the active role and any inherited roles in the role hierarchy. If privileges are revoked from a role, that role no longer has those privileges unless they are still inherited through another granted role.
Why B is correct:
When privileges are removed from a role, users using that role lose the ability to perform actions that depended on the revoked privileges. Access is controlled by the current set of grants assigned to the role.
Why the other options are incorrect:
A. A role does not retain revoked privileges until a new session starts. Revoked privileges affect access according to Snowflake access control rules.
C. The user does not need to reissue USE ROLE just because privileges were revoked.
D. Snowflake does not terminate active sessions simply because a privilege is removed from a role.
Official Snowflake documentation reference:
Snowflake documentation explains that privileges are granted to roles, roles are granted to users or other roles, and revoking privileges removes the ability to perform the associated actions unless access exists through another role path.
What is the most efficient method to share a subset of data from a table with a consumer account?
Create a secure User-Defined Function, or UDF.
Use a dynamic table.
Create an external table.
Create a secure view.
The correct answer is D. Create a secure view .
A secure view is the recommended and efficient way to share a filtered subset of data with a consumer account using Snowflake Secure Data Sharing. The provider can define the rows and columns that should be visible, then share the secure view instead of sharing the full base table.
Why D is correct:
A secure view protects the view definition from unauthorized users and can be used to expose only selected rows or columns from an underlying table.
Example concept:
CREATE SECURE VIEW shared_sales_west AS
SELECT order_id, customer_id, amount, region
FROM sales
WHERE region = ' WEST ' ;
The provider can then include this secure view in a share, allowing the consumer to query only the approved subset of data.
Why the other options are incorrect:
A. A secure UDF can protect function logic, but it is not the most efficient method for sharing a subset of table data.
B. A dynamic table materializes transformation results, but it is not the standard method for secure data sharing with filtered access.
C. An external table allows querying data in external cloud storage. It is not the best method for sharing a subset of Snowflake table data.
Official Snowflake documentation reference:
Snowflake documentation explains that secure views are used with Secure Data Sharing when a provider wants to share filtered or restricted data while protecting the underlying query definition.
Where is metadata management handled in Snowflake?
Cloud Services
Compute
Database Storage
Query Processing
How can staged files be removed during data loading once the files have loaded successfully?
Use the DROP command
Use the purge copy option.
Use the FORCE = TRUE parameter
Use the LOAD UNCERTAIN FILES copy option.
To remove staged files during data loading after they have been successfully loaded, thePURGEcopy option is used in Snowflake.
PURGE Option: This option automatically deletes files from the stage after they have been successfully copied into the target table.
Usage:
FROM @my_stage
FILE_FORMAT = (type = ' csv ' )
PURGE = TRUE;
Snowflake Documentation on COPY INTO
By default, which role is required to change the refresh frequency for an auto-fulfilled application package?
ACCOUNTADMIN
SYSADMIN
GLOBALORGADMIN
SECURITYADMIN
The correct answer is C. GLOBALORGADMIN .
Corrected typos:
The original options contain typing errors:
A. ACCOUNT AUXIN should be ACCOUNTADMIN
B. SYSAEMIN should be SYSADMIN
C. CLOBALORGADMIN should be GLOBALORGADMIN
D. HECURITYADMIH should be SECURITYADMIN
Auto-fulfillment is an organization-level capability related to Snowflake Native Apps and listings across regions or accounts. Because refresh frequency for auto-fulfilled application packages is managed at the organization/global level, the required role is GLOBALORGADMIN.
Why C is correct:
GLOBALORGADMIN is the organization-level administrative role used for managing organization-wide features. Changing the refresh frequency for an auto-fulfilled application package requires this higher-level administrative authority.
Why the other options are incorrect:
A. ACCOUNTADMIN is the highest administrative role within a Snowflake account, but auto-fulfillment refresh frequency is an organization-level setting.
B. SYSADMIN manages account objects such as warehouses, databases, schemas, and tables, but it does not manage organization-level auto-fulfillment settings by default.
D. SECURITYADMIN manages users, roles, and grants, but it is not the default role for managing auto-fulfillment refresh frequency.
Official Snowflake documentation reference:
Snowflake documentation for auto-fulfillment and organization-level administration identifies GLOBALORGADMIN as the role used for managing organization-level Snowflake features.
Which typos of charts does Snowsight support? (Select TWO).
Area charts
Bar charts
Column charts
Radar charts
Scorecards
Snowsight, Snowflake’s user interface for executing and analyzing queries, supports various types of visualizations to help users understand their data better. Among the supported types, area charts and bar charts are two common options. Area charts are useful for representing quantities through the use of filled areas on the graph, often useful for showing volume changes over time. Bar charts, on the other hand, are versatile for comparing different groups or categories of data. Both chart types are integral to data analysis, enabling users to visualize trends, patterns, and differences in their data effectively.
Which COPY INTO < table > parameter is used to avoid loading a partial dataset?
FORCE = FALSE
RETURN_FAILED_ONLY = FALSE
LOAD_UNCERTAIN_FILES = FALSE
ON_ERROR = ABORT_STATEMENT
The correct answer is D. ON_ERROR = ABORT_STATEMENT .
ON_ERROR = ABORT_STATEMENT stops the load operation if an error is encountered. This helps avoid loading only part of a dataset when a file or row error occurs.
Why D is correct:
If the goal is to avoid a partial dataset, the load should fail rather than continue after errors. ABORT_STATEMENT prevents Snowflake from loading only the valid rows while skipping invalid ones.
Why the other options are incorrect:
A. FORCE = FALSE prevents reloading files that were already loaded, but it does not prevent partial loads caused by data errors.
B. RETURN_FAILED_ONLY affects command output reporting. It does not control whether partial data is loaded.
C. LOAD_UNCERTAIN_FILES = FALSE controls loading files with uncertain load status, but it is not the primary parameter for avoiding partial datasets caused by load errors.
D. ON_ERROR = ABORT_STATEMENT is the correct parameter because it stops the load when an error occurs.
Official Snowflake documentation reference:
Snowflake documentation for COPY INTO < table > describes ON_ERROR = ABORT_STATEMENT as the option that aborts the load operation when an error is encountered.