SnowPro Associate: Platform Question 97
Single answer● DatabasesA data engineering team maintains a production database named SALES_DB in Snowflake. Before deploying a major schema change, they need a full copy of the current database for testing. The test environment must be created quickly, should initially avoid duplicating storage for unchanged data, and must preserve the database objects and data exactly as they exist at the time the copy is made. Which approach should the team use?
- A
Create a database from a database snapshot, because snapshots are the standard way to make immediate writable copies of databases for testing
- B
Clone SALES_DB into a new database, because zero-copy cloning creates a fast copy that initially shares underlying micro-partitions until changes are made
- C
Replicate SALES_DB to another database in the same account, because replication is designed for creating test copies without additional storage
- D
Use Time Travel to query historical data directly in SALES_DB, because Time Travel creates an isolated test database at a chosen point in time
Show answer and explanation
Correct answer: B
Explanation
The correct answer is to use zero-copy cloning. In Snowflake, databases, schemas, and tables can be cloned quickly without physically copying all data at creation time. This makes cloning ideal for development, testing, and what-if analysis scenarios where a team needs an accurate point-in-time copy of production data and objects. The clone is independent from a metadata perspective, but storage is initially shared at the micro-partition level until changes occur. This aligns exactly with the requirements: fast creation, no initial full storage duplication, and preservation of the source database state at the time of the copy. Snowflake documentation and best practices consistently position zero-copy cloning as the preferred method for creating test copies of databases, while Time Travel is for accessing historical states and replication is for broader continuity and failover use cases.
- A. Incorrect.
Incorrect. Database snapshots are not the standard Snowflake feature used by customers to quickly create a writable copy of a database for testing in the way described here. For SnowPro Associate-level database copy scenarios, the expected feature is zero-copy cloning.
- B. Correct.
Correct. Zero-copy cloning is the best fit for this requirement. Cloning a database creates a new database that includes the objects and data as they existed at the moment of the clone. It is fast because it does not initially copy all underlying storage; instead, the clone and source reference the same micro-partitions until one side changes, at which point only changed data requires additional storage.
- C. Incorrect.
Incorrect. Replication is intended for account-level business continuity and disaster recovery scenarios, such as maintaining copies across regions or accounts, not as the primary mechanism for quickly creating a same-account test copy of a database. It also does not match the requirement to avoid initial data duplication as directly as zero-copy cloning does.
- D. Incorrect.
Incorrect. Time Travel allows access to historical data from an earlier point in time, such as querying or restoring dropped or changed objects within the retention period. It does not itself create an isolated test database copy. A team could clone from a historical point in some scenarios, but Time Travel alone is not the correct answer to this requirement.