SnowPro Advanced: Architect — Question 20
An Architect has chosen to separate their Snowflake Production and QA environments using two separate Snowflake accounts.
The QA account is intended to run and test changes on data and database objects before pushing those changes to the Production account. It is a requirement that all database objects and data in the QA account need to be an exact copy of the database objects, including privileges and data in the Production account on at least a nightly basis.
Which is the LEAST complex approach to use to populate the QA account with the Production account’s data and database objects on a nightly basis?
Answer options
- A. 1. Create a share in the Production account for each database 2. Share access to the QA account as a Consumer 3. The QA account creates a database directly from each share 4. Create clones of those databases on a nightly basis 5. Run tests directly on those cloned databases
- B. 1. Create a stage in the Production account 2. Create a stage in the QA account that points to the same external object-storage location 3. Create a task that runs nightly to unload each table in the Production account into the stage 4. Use Snowpipe to populate the QA account
- C. 1. Enable replication for each database in the Production account 2. Create replica databases in the QA account 3. Create clones of the replica databases on a nightly basis 4. Run tests directly on those cloned databases
- D. 1. In the Production account, create an external function that connects into the QA account and returns all the data for one specific table 2. Run the external function as part of a stored procedure that loops through each table in the Production account and populates each table in the QA account
Correct answer: C
Explanation
The correct answer is C because enabling replication allows automatic synchronization of database objects and data from the Production account to the QA account, which is efficient and minimizes complexity. Options A and B involve more manual steps and additional configurations that increase complexity, while option D requires creating an external function and stored procedure, which is not as straightforward as replication.