SnowPro Associate: Platform Question 144
Single answer2.2 Create a database, explore data, configure parameters, and transfer ownership.A Snowflake administrator creates a new database named FINANCE_DB for the accounting team and needs to hand off full control of the database to the custom role FINANCE_ADMIN. The administrator also wants FINANCE_ADMIN to be able to manage future access on objects in the database without relying on the original creator role. Which action should the administrator take?
- A
Grant ALL PRIVILEGES on database FINANCE_DB to role FINANCE_ADMIN
- B
Grant OWNERSHIP on database FINANCE_DB to role FINANCE_ADMIN COPY CURRENT GRANTS
- C
Grant MANAGE GRANTS on database FINANCE_DB to role FINANCE_ADMIN
- D
Grant USAGE on database FINANCE_DB to role FINANCE_ADMIN, then grant CREATE SCHEMA on the account
Show answer and explanation
Correct answer: B
Explanation
In Snowflake, OWNERSHIP is the highest level of control over an object and can only belong to one role at a time. When a database needs to be handed off to another administrative role, the correct operation is GRANT OWNERSHIP. This is especially important when the receiving role must independently manage privileges and object administration going forward. The COPY CURRENT GRANTS clause is commonly used during ownership transfer to preserve existing grants on the object, reducing disruption. By contrast, standard privileges such as USAGE or even ALL PRIVILEGES do not transfer ownership. Snowflake documentation for GRANT
- A. Incorrect.
Incorrect. Granting ALL PRIVILEGES on a database does not transfer ownership. In Snowflake, OWNERSHIP is a distinct privilege and is required to fully control an object, including the ability to transfer ownership and manage grants as the owner. A common misconception is that ALL PRIVILEGES literally includes every privilege, but OWNERSHIP is not granted this way.
- B. Correct.
Correct. GRANT OWNERSHIP ON DATABASE FINANCE_DB TO ROLE FINANCE_ADMIN COPY CURRENT GRANTS transfers ownership of the database to FINANCE_ADMIN. Ownership gives full control of the object. Using COPY CURRENT GRANTS preserves existing outbound privileges on the database so access does not need to be rebuilt after the transfer. This is the proper way to hand off control so the new role becomes the owner rather than depending on the original creator role.
- C. Incorrect.
Incorrect. MANAGE GRANTS is a global privilege that can allow a role to manage grants, but it does not make the role the owner of the database. The scenario requires a full handoff of control of the database itself, which requires transferring OWNERSHIP. Candidates may choose this because grant management sounds related, but it does not replace object ownership.
- D. Incorrect.
Incorrect. USAGE on the database only allows the role to reference the database, not administer it. CREATE SCHEMA is a database-level privilege, not an account-level privilege, so this option is also technically incorrect. Even if the privilege scope were corrected, these grants would still not transfer ownership.