ADA-C01 Question 161
Single answerManage account-level parameters and featuresA Snowflake account supports multiple business units. The security team wants to reduce accidental data exposure by ensuring that when users create objects without explicitly setting a data retention period, the objects inherit a default retention period of 7 days. At the same time, the platform team does not want to modify existing databases, schemas, or tables individually. Which action should the Snowflake administrator take to meet this requirement most effectively?
- A
Set the account-level DATA_RETENTION_TIME_IN_DAYS parameter to 7 using ALTER ACCOUNT.
- B
Set the account-level MAX_DATA_EXTENSION_TIME_IN_DAYS parameter to 7 using ALTER ACCOUNT.
- C
Enable Time Travel for all existing databases by running ALTER DATABASE ... SET DATA_RETENTION_TIME_IN_DAYS = 7 on each database.
- D
Set the account-level DEFAULT_DDL_COLLATION parameter to 7 so newly created objects inherit the correct retention behavior.
Show answer and explanation
Correct answer: A
Explanation
The best answer is to set DATA_RETENTION_TIME_IN_DAYS at the account level with ALTER ACCOUNT. Snowflake supports parameter hierarchy, where account-level settings provide defaults that can be overridden at lower scopes such as database, schema, or table. This makes account-level configuration the most efficient way to influence defaults for future object creation across the environment. By contrast, MAX_DATA_EXTENSION_TIME_IN_DAYS is used for stream staleness protection rather than standard Time Travel retention, and DEFAULT_DDL_COLLATION is unrelated. As a best practice, administrators should use account-level parameters when they need broad default behavior and then apply lower-level overrides only where specific business requirements differ. Relevant Snowflake documentation includes the parameter hierarchy guidance and the DATA_RETENTION_TIME_IN_DAYS parameter reference.
- A. Correct.
Correct. DATA_RETENTION_TIME_IN_DAYS is a parameter that can be set at the account, database, schema, and table levels. Setting it at the account level establishes the default retention period for newly created objects when a more specific value is not set at lower levels. This directly addresses the requirement to apply a default of 7 days without modifying existing objects individually.
- B. Incorrect.
Incorrect. MAX_DATA_EXTENSION_TIME_IN_DAYS controls how long Snowflake can extend data retention for streams to prevent them from becoming stale. It is not the primary default Time Travel retention parameter for objects and does not set the default retention period users inherit when creating objects.
- C. Incorrect.
Incorrect. This approach would require changing objects individually or at least database by database, which conflicts with the requirement to avoid modifying existing databases, schemas, or tables one by one. It also does not establish the desired account-level default for future objects across the entire account.
- D. Incorrect.
Incorrect. DEFAULT_DDL_COLLATION controls collation behavior for string comparison and sorting in newly created objects, not Time Travel or retention settings. The option is plausible because it is an account-level parameter affecting object creation defaults, but it is unrelated to data retention.