Snowflake COF-C02 Practice Exams
Last updated on Oct 24,2026- Exam Code: COF-C02
- Exam Name: SnowPro Core Certification Exam
- Certification Provider: Snowflake
- Latest update: Oct 24,2026
What step can reduce data spilling in Snowflake?
- A . Using a larger virtual warehouse
- B . Increasing the virtual warehouse maximum timeout limit
- C . Increasing the amount of remote storage for the virtual warehouse
- D . Using a common table expression (CTE) instead of a temporary table
A
Explanation:
To reduce data spilling in Snowflake, using a larger virtual warehouse is effective because it provides more memory and local disk space, which can accommodate larger data operations and minimize the need to spill data to disk or remote storage1.
References: [COF-C02] SnowPro Core Certification Exam Study Guide
What is a feature of column-level security in Snowflake?
- A . Role access policies
- B . Network policies
- C . Internal tokenization
- D . External tokenization
A
Explanation:
Column-level security in Snowflake is implemented through Role Access Policies. These policies allow administrators to control access to specific columns of a table or view based on the role of the user accessing the data. By applying a role access policy to a column, administrators can ensure that sensitive information remains secure, and only users with the appropriate roles can view or query the data in that column. This feature enhances the security model by providing fine-grained access control at the column level.
References: Snowflake Documentation: Implementing Column-level Security
Which URL provides access to files in Snowflake without authorization?
- A . File URL
- B . Scoped URL
- C . Pre-signed URL
- D . Scoped file URL
C
Explanation:
A Pre-signed URL provides access to files stored in Snowflake without requiring authorization at the time of access. This feature allows users to generate a URL with a limited validity period that grants temporary access to a file in a secure manner. It’s particularly useful for sharing data with external parties or applications without the need for them to authenticate directly with Snowflake.
References: Snowflake Documentation: Using Pre-signed URLs
By default, which role has access to the SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER function?
- A . ACCOUNTADMIN
- B . SECURITYADMIN
- C . SYSADMIN
- D . ORGADMIN
A
Explanation:
By default, the ACCOUNTADMIN role in Snowflake has access to the SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER function. This function is used to set global account parameters, impacting the entire Snowflake account’s configuration and behavior. The ACCOUNTADMIN role is the highest-level administrative role in Snowflake, granting the necessary privileges to manage account settings and security features, including the use of global account parameters.
References: Snowflake Documentation: SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER
Which function should be used to find the query ID of the second query executed in a current session?
- A . Select LAST_QUERY_ID(-2)
- B . Select LAST_QUERY_ID(2)
- C . Select LAST_QUERY_ID(1)
- D . Select LAST_QUERY_ID(2)
A
Explanation:
The correct function to find the query ID of the second query executed in the current session is SELECT LAST_QUERY_ID(-2). The LAST_QUERY_ID function returns the query ID for the most recent query executed in the session when called with no arguments. When used with an argument, it can retrieve the ID of previous queries within the same session, where -2 would reference the second most recent query executed.
References:
There’s a clarification needed here; Snowflake’s documentation indicates LAST_QUERY_ID() function does not accept arguments. It returns the ID of the last query executed in the session. To find the query ID of the second last executed query, users typically need to track query IDs manually or use session history views.
Which of the following commands cannot be used within a reader account?
- A . CREATE SHARE
- B . ALTER WAREHOUSE
- C . DROP ROLE
- D . SHOW SCHEMAS
- E . DESCRBE TABLE
A
Explanation:
In Snowflake, a reader account is a type of account that is intended for consuming shared data rather than performing any data management or DDL operations. The CREATE SHARE command is used to share data from your account with another account, which is not a capability provided to reader accounts. Reader accounts are typically restricted from creating shares, as their primary purpose is to read shared data rather than to share it themselves.
References:
Snowflake Documentation on Reader Accounts
SnowPro® Core Certification Study Guide
A user needs to MINIMIZE the cost of large tables that are used to store transitory data. The data does not need to be protected against failures, because the data can be reconstructed outside of Snowflake.
What table type should be used?
- A . Permanent
- B . Transient
- C . Temporary
- D . Externa
B
Explanation:
For minimizing the cost of large tables that are used to store transitory data, which does not need to be protected against failures because it can be reconstructed outside of Snowflake, the best table type to use is Transient. Transient tables in Snowflake are designed for temporary or transitory data storage and offer reduced storage costs compared to permanent tables. However, unlike temporary tables, they persist across sessions until explicitly dropped.
Why Transient Tables: Transient tables provide a cost-effective solution for storing data that is temporary but needs to be available longer than a single session. They have lower data storage costs because Snowflake does not maintain historical data (Time Travel) for as long as it does for permanent tables.
Creating a Transient Table:
To create a transient table, use the TRANSIENT keyword in the CREATE TABLE statement:
CREATE TRANSIENT TABLE my_transient_table (…);
Use Case Considerations: Transient tables are ideal for scenarios where the data is not critical, can be easily recreated, and where cost optimization is a priority. They are suitable for development, testing, or staging environments where data longevity is not a concern.
Reference: For more details on transient tables and their usage scenarios, refer to the Snowflake
documentation on table types: https://docs.snowflake.com/en/sql-reference/sql/create-table.html#table-types
What action should be taken if a Snowflake user wants to share a newly created object in a database with consumers?
- A . Use the automatic sharing feature for seamless access.
- B . Drop the object and then re-add it to the database to trigger sharing.
- C . Recreate the object with a different name in the database before sharing.
- D . Use the grant privilege … TO share command to grant the necessary privileges.
D
Explanation:
When a Snowflake user wants to share a newly created object in a database with consumers, the correct action to take is to use the GRANT privilege … TO SHARE command to grant the necessary privileges for the object to be shared. This approach allows the object owner or a user with the appropriate privileges to share database objects such as tables, secure views, and streams with other Snowflake accounts by granting access to a named share.
The GRANT statement specifies which privileges are granted on the object to the share. The object remains in its original location; sharing does not duplicate or move the object. Instead, it allows the specified share to access the object according to the granted privileges.
For example, to share a table, the command would be:
GRANT SELECT ON TABLE new_table TO SHARE consumer_share;
This command grants the SELECT privilege on a table named new_table to a share named consumer_share, enabling the consumers of the share to query the table.
Automatic sharing, dropping and re-adding the object, or recreating the object with a different name are not required or recommended practices for sharing objects in Snowflake. The use of the GRANT statement to a share is the direct and intended method for this purpose.
Reference: Snowflake Documentation on Sharing Data (https://docs.snowflake.com/en/user-guide/data-sharing-intro.html)
Which features can be used with the Snowflake Standard edition? (Select TWO).
- A . Materialized views
- B . External functions
- C . Multi-cluster virtual warehouses
- D . Fail-safe
- E . Row-level security
Which command can be used to stage local files from which Snowflake interface?
- A . SnowSQL
- B . Snowflake classic web interface (Ul)
- C . Snowsight
- D . .NET driver
A
Explanation:
SnowSQL is the command-line client for Snowflake that allows users to execute SQL queries and perform all DDL and DML operations, including staging files for bulk data loading. It is specifically designed for scripting and automating tasks.
References:
SnowPro Core Certification Exam Study Guide
Snowflake Documentation on SnowSQL
https://docs.snowflake.com/en/user-guide/snowsql-use.html