SnowflakeAssociate levelPage 2 of 4

SnowPro Associate: Platform exam dumps: questions 101 to 200 of 367

Page 2 of the free SnowPro Associate: Platform question bank for the SnowPro® Associate: Platform Certification exam. Questions 101 to 200 are listed below, the first 5 in full with answers and explanations. Back to page 1 for the exam overview and FAQ.

Question bank last updated April 2026

Free SnowPro Associate: Platform practice questions

Questions 101 to 105 of 367

Pick an answer before you open the explanation. Each question also has its own page with a permalink.

SnowPro Associate: Platform Question 101

Single answer● Schemas

A data engineering team created a schema named SALES in the ANALYTICS database and loaded several tables into it. A BI role, BI_ANALYST, already has USAGE on the ANALYTICS database, but analysts still receive an error when they try to query ANALYTICS.SALES.ORDERS. The security administrator wants to grant only the minimum additional access required so the role can query existing tables in the SALES schema, without granting broader privileges than necessary. Which grant should the administrator apply?

  1. A

    GRANT USAGE ON SCHEMA ANALYTICS.SALES TO ROLE BI_ANALYST;

  2. B

    GRANT SELECT ON DATABASE ANALYTICS TO ROLE BI_ANALYST;

  3. C

    GRANT SELECT ON ALL SCHEMAS IN DATABASE ANALYTICS TO ROLE BI_ANALYST;

  4. D

    GRANT OWNERSHIP ON SCHEMA ANALYTICS.SALES TO ROLE BI_ANALYST;

Show answer and explanation

Correct answer: A

Explanation

In Snowflake, schemas are namespaces within databases, and object access depends on privileges at multiple levels. To query a table using a fully qualified name, a role needs USAGE on the database, USAGE on the schema, and the relevant object privilege such as SELECT on the table or view. In this scenario, the role already has USAGE on the database, so the minimum additional schema-related privilege is USAGE on the SALES schema. This aligns with Snowflake access control best practices of least privilege. Refer to Snowflake documentation on access control privileges for databases, schemas, and tables, especially the distinction between container privileges like USAGE and object privileges like SELECT.

  • A. Correct.

    Correct. To access objects inside a schema, a role must have USAGE on both the parent database and the schema. Since BI_ANALYST already has USAGE on the ANALYTICS database, granting USAGE on the SALES schema is the minimum additional privilege needed at the schema level to allow object resolution. Assuming the role already has the required object privilege such as SELECT on the table, this is the missing schema-related permission that enables querying existing tables in that schema.

  • B. Incorrect.

    Incorrect. Snowflake does not support granting SELECT on a database as a way to read tables within it. SELECT is granted on objects such as tables and views, not at the database level for all contained objects. This option reflects a common misconception that database privileges cascade to table read access.

  • C. Incorrect.

    Incorrect. This is not a valid Snowflake privilege model. SELECT is not granted on schemas to read all contained tables. In Snowflake, schema privileges such as USAGE allow object name resolution, while object-level privileges like SELECT must be granted on tables or views. A candidate might choose this if they confuse schema/container privileges with object privileges.

  • D. Incorrect.

    Incorrect. OWNERSHIP is the highest privilege on an object and transfers control of the schema. It is far broader than required and violates the requirement to grant minimum necessary access. This would allow the BI role to manage the schema rather than simply access objects within it.

SnowPro Associate: Platform Question 102

Single answer● Schemas

A data engineering team stores raw ingestion tables in the schema PROD_DB.RAW. A contractor role named ETL_CONTRACTOR must load data into existing tables in RAW for the next 2 months, but the security team wants to prevent that role from creating new objects or accessing any other schemas in the database. Which privilege assignment best meets this requirement?

  1. A

    Grant USAGE on database PROD_DB, USAGE on schema PROD_DB.RAW, and INSERT on all existing tables in PROD_DB.RAW to the ETL_CONTRACTOR role.

  2. B

    Grant OWNERSHIP on schema PROD_DB.RAW to the ETL_CONTRACTOR role so it can load data into tables without access to other schemas.

  3. C

    Grant USAGE on schema PROD_DB.RAW and CREATE TABLE on schema PROD_DB.RAW to the ETL_CONTRACTOR role.

  4. D

    Grant SELECT, INSERT, UPDATE, and DELETE on database PROD_DB to the ETL_CONTRACTOR role.

Show answer and explanation

Correct answer: A

Explanation

In Snowflake, schema access is controlled hierarchically. A role must have USAGE on the database and USAGE on the schema before it can access objects within that schema. Privileges to act on tables, such as INSERT, are granted on the table objects themselves. To prevent object creation, do not grant CREATE privileges on the schema. This aligns with Snowflake's least-privilege best practice for role design. Relevant Snowflake documentation covers access control privileges for databases, schemas, and tables, including the need for USAGE on parent containers and object-specific privileges for DML operations.

  • A. Correct.

    Correct. To work with objects in a schema, a role needs USAGE on the parent database and the schema. To load data into existing tables, the role also needs the appropriate table privilege, such as INSERT, on those tables. This combination limits access to the RAW schema and does not allow creation of new objects because no CREATE privilege on the schema is granted.

  • B. Incorrect.

    Incorrect. OWNERSHIP is the highest privilege on an object and would allow the role to fully control the schema, including granting privileges and managing objects. This violates least-privilege principles and exceeds the requirement to only load data into existing tables.

  • C. Incorrect.

    Incorrect. CREATE TABLE on a schema explicitly allows creation of new tables in that schema, which the security team wants to prevent. Also, USAGE on the database is still required to access objects in the schema.

  • D. Incorrect.

    Incorrect. Database-level object privileges like SELECT, INSERT, UPDATE, and DELETE are not granted in this broad way to satisfy access to tables in a specific schema. The role would also need USAGE on the database and schema, and this option would be far too broad because it targets the entire database rather than only the RAW schema.

SnowPro Associate: Platform Question 103

Single answer● Schemas

A data engineering team maintains a database named ANALYTICS with a schema named STAGING that contains several transient tables used for short-term processing. To reduce risk, the team wants to prevent developers from accidentally dropping the STAGING schema while still allowing them to create and replace objects inside it during deployments. Which action should the Snowflake administrator take?

  1. A

    Create the schema as a managed access schema.

  2. B

    Create the schema with WITH MANAGED ACCESS and DATA_RETENTION_TIME_IN_DAYS = 0.

  3. C

    Create the schema with the OBJECT_VISIBILITY property set to PRIVATE.

  4. D

    Create the schema with the TRANSIENT property enabled.

Show answer and explanation

Correct answer: A

Explanation

In Snowflake, schemas are logical containers for database objects, and administrators commonly use schema properties to support governance and workload patterns. A managed access schema is the key schema feature for tighter administrative control because privilege management is performed by the schema owner or a role with MANAGE GRANTS, rather than by individual object owners. This supports controlled deployment processes and reduces the chance of unintended privilege sprawl.

There is no schema property whose purpose is to make a schema impossible to drop. Preventing accidental drops is primarily addressed through role design, least-privilege access, and ownership control. Transient schemas are useful for staging or temporary data because they are intended for objects that do not require the same level of data protection as permanent objects, but transient does not provide drop protection. Similarly, data retention settings affect Time Travel, not schema deletion permissions.

This aligns with Snowflake documentation on CREATE SCHEMA, managed access schemas, transient schemas, and access control best practices.

  • A. Correct.

    Correct. A managed access schema centralizes privilege management so that object owners do not automatically control grant decisions on objects within the schema; only the schema owner or a role with MANAGE GRANTS can manage object privileges. This is useful when an administrator wants tighter control over a schema and its objects during team deployments. While this does not literally make a schema undroppable, it is the valid schema-level governance feature among the options and best aligns with reducing accidental administrative actions through controlled access patterns.

  • B. Incorrect.

    Incorrect. WITH MANAGED ACCESS is a valid schema property, but DATA_RETENTION_TIME_IN_DAYS = 0 does not prevent a schema from being dropped. Retention affects Time Travel availability for supported objects, not whether the schema itself can be deleted. A candidate might choose this option because transient objects are often paired with lower retention for cost control, but that does not address accidental schema drops.

  • C. Incorrect.

    Incorrect. OBJECT_VISIBILITY is not a standard schema property used to protect schemas from being dropped in Snowflake. This distractor targets the misconception that there is a schema setting similar to visibility controls in other platforms. Snowflake schema management focuses on ownership, privileges, and schema types such as managed access or transient.

  • D. Incorrect.

    Incorrect. A transient schema reduces data protection costs by limiting Fail-safe for objects created in it, but it does not prevent the schema from being dropped. This is a common misconception because transient schemas are often used for temporary or staging workloads, yet their purpose is storage lifecycle and recovery behavior, not drop protection.

SnowPro Associate: Platform Question 104

Single answer● Schemas

A data engineering team is reorganizing objects in a Snowflake database. They created a schema named ANALYTICS in the SALES database and loaded several permanent tables into it. Later, they realize the schema was created with the wrong owner role, and they also want to avoid dropping the schema because the contained tables must be preserved. Which action should they take to address the ownership issue while keeping the schema and its objects in place?

  1. A

    Use ALTER SCHEMA SALES.ANALYTICS RENAME TO new_schema_name to change the schema owner without affecting contained objects.

  2. B

    Use GRANT OWNERSHIP ON SCHEMA SALES.ANALYTICS TO ROLE <new_role> to transfer ownership of the schema.

  3. C

    Drop the schema with CASCADE and recreate it under the correct role; the permanent tables will remain in Time Travel and automatically reconnect to the recreated schema.

  4. D

    Clone the schema to a new schema owned by the correct role, then the original schema ownership will automatically update to match the clone.

Show answer and explanation

Correct answer: B

Explanation

The correct solution is to transfer ownership with GRANT OWNERSHIP ON SCHEMA. In Snowflake, OWNERSHIP is a special privilege that controls the object and can be transferred to another role. This is the standard method for correcting which role owns an existing schema without dropping or recreating it. RENAME only changes object names, and CLONE creates a new object rather than modifying the original. Dropping and recreating a schema is unnecessary and risky when the goal is simply to correct administrative control. This aligns with Snowflake documentation on access control and object privileges, where OWNERSHIP transfer is the supported way to reassign control of schemas and other securable objects.

  • A. Incorrect.

    Incorrect. RENAME changes only the schema name, not its owner. This is a common misconception because ALTER commands can modify many object properties, but ownership changes in Snowflake are handled with GRANT OWNERSHIP, not RENAME.

  • B. Correct.

    Correct. In Snowflake, ownership is a privilege, and transferring it is done with GRANT OWNERSHIP ON SCHEMA. This changes the owning role without requiring the schema to be dropped, allowing the schema and its contained objects to remain in place. This is the appropriate administrative action when the schema was created under the wrong role.

  • C. Incorrect.

    Incorrect. Dropping a schema with CASCADE removes the schema and its objects. While dropped objects may be recoverable during retention periods using Time Travel, they do not automatically reconnect to a newly recreated schema. This approach is disruptive and unnecessary for simply correcting schema ownership.

  • D. Incorrect.

    Incorrect. Cloning creates a separate copy of the schema and its objects at a point in time, but it does not change ownership of the original schema. The original and cloned schemas are distinct objects, and cloning is not the mechanism for fixing ownership on an existing schema.

SnowPro Associate: Platform Question 105

Single answer● Tables

A data engineering team loads clickstream data into a Snowflake table named EVENTS_RAW. The table receives millions of rows per day, and analysts frequently run queries filtered by EVENT_DATE and USER_ID. Performance has become inconsistent as the table grows. The team wants to improve query pruning without changing application logic or manually repartitioning data. Which action is the MOST appropriate?

  1. A

    Define a clustering key on EVENT_DATE and USER_ID for the EVENTS_RAW table

  2. B

    Convert EVENTS_RAW into a temporary table so Snowflake can optimize scans for active sessions

  3. C

    Create a primary key on EVENT_DATE and USER_ID so Snowflake physically orders rows by those columns

  4. D

    Replace the table with an external table so partitions in cloud storage handle pruning automatically

Show answer and explanation

Correct answer: A

Explanation

For large Snowflake tables, query performance often depends on effective micro-partition pruning. When queries repeatedly filter on specific columns, a clustering key can help Snowflake better organize table data over time so fewer micro-partitions are scanned. This is a practical option when a large table experiences inconsistent performance as data volume increases. By contrast, standard primary key constraints in Snowflake do not enforce physical row ordering or clustering. Temporary tables are for session-specific use cases, not persistent production datasets. External tables are intended for data that remains in external storage and are not the preferred solution for optimizing a native Snowflake table used for high-volume analytics. This aligns with Snowflake documentation and best practices on table types, constraints, and clustering for large tables.

  • A. Correct.

    Correct. Defining a clustering key on columns commonly used in selective filters, such as EVENT_DATE and USER_ID, can improve micro-partition pruning as the table grows. This is especially useful for very large tables with frequent filtering on the same columns. It does not require application query changes, and Snowflake manages table storage internally rather than requiring manual repartitioning.

  • B. Incorrect.

    Incorrect. Temporary tables are session-scoped and are intended for transient, short-lived data. They do not provide a performance optimization mechanism for large persistent workloads, and converting a production raw events table into a temporary table would make the data unavailable outside the session.

  • C. Incorrect.

    Incorrect. In Snowflake, primary key constraints are generally informational unless using features such as hybrid tables. For standard tables, declaring a primary key does not physically sort or cluster the data, so it would not improve pruning in the way described.

  • D. Incorrect.

    Incorrect. External tables are designed for querying data stored outside Snowflake, such as files in cloud storage. They are not a replacement for a heavily queried internal table when the goal is to improve pruning of Snowflake-managed table storage. External tables also typically do not provide the same query performance characteristics as native tables.

Timed practice exam

Take a SnowPro Associate: Platform practice test under exam conditions

65 questions in 85 minutes, drawn from this bank, with a score report and a per-question review when you finish.

Start timed exam

SnowPro Associate: Platform practice questions 101 to 200 of 367

Every question has a page with the answer and explanation. Numbers are stable, so you can bookmark or share them. The bank is split into 4 pages of up to 100 questions.

  1. 101.A data engineering team created a schema named SALES in the ANALYTICS database and loaded several tables into...
  2. 102.A data engineering team stores raw ingestion tables in the schema PRODDB.RAW. A contractor role named...
  3. 103.A data engineering team maintains a database named ANALYTICS with a schema named STAGING that contains...
  4. 104.A data engineering team is reorganizing objects in a Snowflake database. They created a schema named...
  5. 105.A data engineering team loads clickstream data into a Snowflake table named EVENTSRAW. The table receives...
  6. 106.A data engineering team loads a SALES table every hour using a TRUNCATE followed by INSERT process. Analysts...
  7. 107.A retail company loads daily sales records into a large permanent table named SALESFACT. Analysts frequently...
  8. 108.A data engineering team loads sales transactions into a Snowflake table every hour. Analysts frequently run...
  9. 109.A data engineering team has a table SALESRAW in the PROD database that contains customerid, orderid,...
  10. 110.A data engineering team maintains a table named SALESRAW that receives new rows throughout the day. Analysts...
  11. 111.A data engineering team maintains a table named SALESRAW that contains all sales transactions, including a...
  12. 112.A data engineering team maintains a SALES table that contains sensitive columns such as CUSTOMEREMAIL and...
  13. 113.A retail company is loading point-of-sale data from CSV files into a Snowflake table. One column,...
  14. 114.A retail company is loading order data from CSV files into a Snowflake table. The source file contains these...
  15. 115.A retail company is loading order data from CSV files into Snowflake. One column, ORDERTOTAL, contains values...
  16. 116.A retail company is loading sales data from CSV files into a Snowflake table. One source column, ORDERTOTAL,...
  17. 117.A Snowflake administrator is onboarding a new data engineering team. The team needs to create schemas and...
  18. 118.A company is setting up a new Snowflake account for its analytics team. The security lead wants to follow...
  19. 119.A Snowflake account has just been provisioned for a growing analytics team. The company wants to follow...
  20. 120.A Snowflake account is being set up for a new analytics team. The security lead wants to follow...
  21. 121.A Snowflake administrator is onboarding a new analytics team. Team members need to query tables in the...
  22. 122.A Snowflake administrator needs to allow a group of analysts to query tables in the FINANCEDB database...
  23. 123.A company uses Snowflake to support both a Finance team and a Data Engineering team. The SECURITYADMIN role...
  24. 124.A Snowflake administrator is onboarding a new analytics team. Team members need to query tables in the SALES...
  25. 125.A Snowflake administrator is redesigning access control for an analytics team. The team lead wants BIANALYST...
  26. 126.A Snowflake administrator is redesigning access for an analytics team. The team wants junior analysts to...
  27. 127.A Snowflake administrator is redesigning access for an analytics team. The team lead wants the ANALYST role...
  28. 128.A Snowflake administrator is redesigning access for the analytics team. They create a role hierarchy where...
  29. 129.A company uses Snowflake to support several business units. The security team wants to let analysts in the...
  30. 130.A Snowflake account is being reorganized to improve security administration. The company wants one set of...
  31. 131.A Snowflake administrator is designing access for a finance reporting application used by hundreds of...
  32. 132.A Snowflake administrator is redesigning access control for a growing analytics environment. The company...
  33. 133.A data engineering team wants analysts to query all current and future tables in the PRODDB.SALES schema...
  34. 134.A Snowflake administrator needs to let a data engineering role named ETLROLE load files from an existing...
  35. 135.A Snowflake administrator is onboarding a new analyst role named ANALYSTRPT. Users with this role must be...
  36. 136.A Snowflake administrator needs to let a data analyst query tables in the FINANCEDB database, but the analyst...
  37. 137.A Snowflake administrator creates a custom role named ANALYSTROLE for a reporting team. The team must be able...
  38. 138.A Snowflake administrator creates a custom role named ANALYSTR and grants it the following privileges: USAGE...
  39. 139.A company uses role-based access control in Snowflake. The ANALYST role needs to query the table...
  40. 140.A company uses role-based access control in Snowflake. The SALESDB database contains a schema named ANALYTICS...
  41. 141.A Snowflake administrator created a database named FINANCEDB for the accounting team. The database and all...
  42. 142.A Snowflake administrator creates a database named SALESRAW and grants the ETLADMIN role full control of the...
  43. 143.A Snowflake administrator created a database named SALESRAW and now needs to hand over full control of that...
  44. 144.A Snowflake administrator creates a new database named FINANCEDB for the accounting team and needs to hand...
  45. 145.A data engineering team maintains a SALESDB database with a curated schema named PROD. Analysts in a separate...
  46. 146.A data engineering team maintains a SALES database with a schema named CURATED. They want analysts to query...
  47. 147.A data engineering team stores raw sales files in an internal stage and loads them into a table named...
  48. 148.A data engineering team loads daily sales files into a STAGE and then inserts the transformed data into the...
  49. 149.A Snowflake administrator needs to identify all tables in the SALES database that have not been modified in...
  50. 150.A data engineering team needs to audit which tables in the SALES database have not been modified in the last...
  51. 151.A data engineer needs to identify all BASE TABLES in the SALES database that have not been modified in the...
  52. 152.A data engineer needs to identify all BASE TABLES in the ANALYTICS database that have not been modified in...
  53. 153.A data engineering team created a new database named ANALYTICS for a reporting project. When analysts connect...
  54. 154.A data engineering team creates a new database named ANALYTICS for a reporting project. Soon after,...
  55. 155.A Snowflake administrator creates a new database named FINANCEDB for an analytics team. Immediately...
  56. 156.A Snowflake administrator creates a new database named FINANCEDB for an application team. Soon after,...
  57. 157.A data engineering team uses a shared Snowflake service account to run deployment scripts. One script creates...
  58. 158.A data engineering team uses a shared Snowflake worksheet to run deployment scripts in a DEV environment. A...
  59. 159.A data engineering team at a retail company uses a worksheet to load sales data into Snowflake. The script...
  60. 160.A data engineering team uses a shared Snowflake worksheet to troubleshoot issues in a pipeline. The worksheet...
  61. 161.A Snowflake account uses role-based access control. A data engineering team created a schema named...
  62. 162.A Snowflake administrator is decommissioning the role ETLADMIN and needs to transfer ownership of the table...
  63. 163.A Snowflake administrator is decommissioning the role APPDEV and needs to transfer ownership of the schema...
  64. 164.A Snowflake administrator needs to transfer ownership of the SALESDB database from the role ETLADMIN to the...
  65. 165.A data engineering team created a temporary development schema named DEVTEST in the ANALYTICS database to...
  66. 166.A data engineering team wants to retire a temporary schema named STAGELOAD in the SALES database after a...
  67. 167.A data engineering team created a temporary working area in the ANALYTICS database called STAGEWORK. After...
  68. 168.A data engineering team is decommissioning a project-specific schema named ANALYTICSSTAGE in the PRODDB...
  69. 169.A data analyst needs a quick report showing the total number of orders and the average order amount for each...
  70. 170.A data engineer needs to quickly validate the contents of a Snowflake table named SALES before building a...
  71. 171.A data analyst needs to quickly review the most recent 10 orders from the SALES.PUBLIC.ORDERS table to...
  72. 172.A data analyst needs to review recent orders from a Snowflake table named SALESDB.PUBLIC.ORDERS. The analyst...
  73. 173.A data engineering team is cleaning up old training materials for new Snowflake users. One slide states that...
  74. 174.A data engineering team is reviewing the SnowPro Associate exam blueprint and notices a study note labeled...
  75. 175.A Snowflake administrator is reviewing a draft SnowPro Associate practice exam and notices one objective...
  76. 176.A retail company is preparing SnowPro Associate study materials and asks a data engineer to create a practice...
  77. 177.A data engineering team maintains a reporting query in Snowflake that currently uses SELECT from the...
  78. 178.A data engineering team created a reporting query against a Snowflake table named SALESFACT. The query...
  79. 179.A data engineering team maintains a reporting view in Snowflake that is currently defined as SELECT FROM...
  80. 180.A data engineering team maintains a reporting query that currently uses SELECT from a Snowflake table...
  81. 181.A data analyst is investigating recent order activity in a Snowflake table named ORDERS that contains...
  82. 182.A data analyst is validating a new sales dashboard in Snowflake and wants to quickly inspect only the 20...
  83. 183.A data analyst is troubleshooting a query in Snowflake against a SALES table that contains billions of rows....
  84. 184.A data analyst is validating a newly loaded SALES table that contains hundreds of millions of rows. They want...
  85. 185.A retail company loads clickstream events from JSON files into a Snowflake table named RAWEVENTS with a...
  86. 186.A retail company loads daily clickstream JSON files from cloud storage into a Snowflake table named RAWEVENTS...
  87. 187.A retail company stores raw clickstream events in a Snowflake table with a VARIANT column named EVENTDATA....
  88. 188.A retail company loads daily JSON files from an external stage into a Snowflake table named RAWORDERS using a...
  89. 189.A data engineering team loads daily CSV files from an Amazon S3 bucket into Snowflake. They want Snowflake to...
  90. 190.A data engineering team loads daily CSV files from an Amazon S3 bucket into Snowflake. The files are produced...
  91. 191.A data engineering team loads daily CSV files from an Amazon S3 bucket into Snowflake. The files contain...
  92. 192.A data engineering team loads daily CSV files from an Amazon S3 bucket into Snowflake. They want to simplify...
  93. 193.A data engineering team loads daily CSV files from an Amazon S3 bucket into a Snowflake table named SALESRAW...
  94. 194.A retail company receives hourly CSV files from a partner in an Amazon S3 bucket. New files are appended...
  95. 195.A data engineering team loads hourly CSV files from an Amazon S3 bucket into a Snowflake table named...
  96. 196.A retail company receives new CSV files in an Amazon S3 bucket every hour. The files must be loaded into a...
  97. 197.A retail company stores sales data in a Snowflake table named SALES with the following structured columns:...
  98. 198.A retail company loads daily product catalog files into a Snowflake table named PRODUCTCATALOG. The source...
  99. 199.A retail company stores order data in a Snowflake table named ORDERS with the following schema: ORDERID...
  100. 200.A retail company stores daily sales records in a Snowflake table with strongly typed columns such as ORDERID...