What happens when a Snowflake user changes the data retention period at the schema level?
What happens when a Snowflake user changes the data retention period at the schema level?
When a Snowflake user changes the data retention period at the schema level, all child objects that do not have an explicit retention period will automatically inherit the new retention period. Objects that have been explicitly set with a retention period will not be affected by this change and will retain their individual settings.
Correct answer is B. -------------------------------------------------------- If you change the data retention period for a database or schema, the change only affects active objects contained within the database or schema. Any objects that have been dropped (for example, tables) remain unaffected. For example, if you have a schema s1 with a 90-day retention period and table t1 is in schema s1, table t1 inherits the 90-day retention period. If you drop table s1.t1, t1 is retained in Time Travel for 90 days. Later, if you change the schema’s data retention period to 1 day, the retention period for the dropped table t1 is unchanged. Table t1 will still be retained in Time Travel for 90 days. -------------------------------------------------------- https://docs.snowflake.com/en/user-guide/data-time-travel#specifying-the-data-retention-period-for-an-object:~:text=through%20Time%20Travel.-,Note,-If%20you%20change
Also D is correct. But B includes D, since just one answer is requested, B is the one
B correct
BD are both correct, confirmed by testing below. https://docs.snowflake.com/en/user-guide/data-time-travel -- 902 USE ROLE SYSADMIN; CREATE DATABASE TIME_TRAVEL_TEST; USE SCHEMA PUBLIC; CREATE TABLE T_A AS SELECT 1 ID; CREATE TABLE T_B AS SELECT 2 ID; ALTER TABLE T_B SET DATA_RETENTION_TIME_IN_DAYS=90; ALTER SCHEMA PUBLIC SET DATA_RETENTION_TIME_IN_DAYS=30; -- PUBLIC - explicitly set at 30 --T_A - not set explicitly, but was inherited from parent --T_B - explicitly set at 90 SHOW PARAMETERS like '%DATA_RETENTION_TIME_IN_DAYS%' in schema PUBLIC; --30 SHOW PARAMETERS like '%DATA_RETENTION_TIME_IN_DAYS%' in table T_A; --30 inherited from parent SHOW PARAMETERS like '%DATA_RETENTION_TIME_IN_DAYS%' in table T_B; --90 remained explicitly set