- (Topic 2)
What are best practice recommendations for using the ACCOUNTADMIN system-defined role in Snowflake? (Choose two.)
Correct Answer:
AD
Best practices for using the ACCOUNTADMIN role include ensuring that all users with this role use Multi-factor Authentication (MFA) for added security. Additionally, it is recommended to assign the ACCOUNTADMIN role to at least two users to avoid delays in case of password recovery issues, but to as few users as possible to maintain strict control over account-level operations4.
- (Topic 6)
Which Snowflake table type is only visible to the user who creates it, can have the same name as permanent tables in the same schema, and is dropped at the end of the session?
Correct Answer:
A
In Snowflake, aTemporarytable is a type of table that is only visible to the user who creates it, can have the same name as permanent tables in the same schema, and is automatically dropped at the end of the session in which it was created. Temporary tables are designed for transient data processing needs, where data is needed for the duration of a specific task or session but not beyond. Since they are automatically cleaned up at the end of the session, they help manage storage usage efficiently and ensure that sensitive data is not inadvertently persisted.
References:
✑ Snowflake Documentation on Temporary Tables: Temporary Tables
- (Topic 6)
What action should be taken if a Snowflake user wants to share a newly created object in a database with consumers?
Correct Answer:
D
When a Snowflake user wants to share a newly created object in a database with consumers, the correct action to take is to use theGRANTprivilege ... 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.
TheGRANTstatement 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: GRANTSELECTONTABLEnew_tableTOSHARE consumer_share;
This command grants the SELECT privilege on a table namednew_tableto 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 theGRANTstatement 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)
- (Topic 6)
Which privilege grants the ability to set a column-level security masking policy on a table or view column?
Correct Answer:
A
In Snowflake, theAPPLYprivilege is required to set a masking policy on a table or view column. This privilege allows a user to associate a masking policy with a specific column, thereby controlling how data in that column is masked or hidden.
✑ Create a Masking Policy:Define a masking policy using theCREATE MASKING
POLICYcommand.
✑ Grant APPLY Privilege:Grant theAPPLYprivilege on the masking policy to the relevant roles or users.
✑ Apply the Masking Policy:Use theALTER TABLEorALTER VIEWcommand to apply
the masking policy to a column.
References:
✑ Snowflake Documentation: Data Masking
✑ Snowflake Documentation: CREATE MASKING POLICY
✑ Snowflake Documentation: Privileges for Masking Policies
- (Topic 5)
What is used to denote a pre-computed data set derived from a SELECT query specification and stored for later use?
Correct Answer:
C
A materialized view in Snowflake denotes a pre-computed data set derived from a SELECT query specification and stored for later use. Unlike standard views, which dynamically compute the data each time the view is accessed, materialized views store the result of the query at the time it is executed, thereby speeding up access to the data, especially for expensive aggregations on large datasets.
References:
✑ Snowflake Documentation: Materialized Views