ALTER BACKUP POLICY¶
Modifica as propriedades de uma política de backup. As seguintes alterações são compatíveis:
Renomear a política.
Adicione ou atualize o comentário para a política.
Alterar as configurações de cronograma e expiração da política. O cronograma determina a frequência com que o Snowflake faz um backup automático e adiciona o backup resultante ao conjunto de backups governado pela política. O período de expiração determina quanto tempo cada backup é retido antes que o Snowflake o exclua automaticamente do conjunto de backups associado.
Desative as propriedades da política, para que elas retornem aos seus valores padrão.
- Consulte também:
CREATE BACKUP POLICY, DROP BACKUP POLICY, SHOW BACKUP POLICIES
Sintaxe¶
ALTER BACKUP POLICY <name> RENAME TO <new_name>
ALTER BACKUP POLICY <name> SET
[ COMMENT = '<string_literal>' ]
[ SCHEDULE = '{ <num> MINUTE | <num> HOUR | USING CRON <expr> <time_zone> }' ]
[ EXPIRE_AFTER_DAYS = <days_integer> ]
ALTER BACKUP POLICY <name> UNSET { COMMENT | SCHEDULE | EXPIRE_AFTER_DAYS }
ALTER BACKUP POLICY <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER BACKUP POLICY <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
Parâmetros¶
nameEspecifica o identificador da política de backup.
Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
Para obter mais informações, consulte Requisitos para identificadores.
RENAME TO new_nameEspecifica o novo identificador da política de backups. Deve ser único para sua conta.
Para obter mais informações, consulte Requisitos para identificadores.
SET...Especifica uma ou mais propriedades a serem definidas para a política de backups (separadas por espaços em branco, vírgulas ou novas linhas):
COMMENT = 'string_literal'Especifica um comentário para a política de backup.
SCHEDULE = '{ num MINUTE | num HOUR | USING CRON expr time_zone }'Especifica o cronograma para a criação de backups de um objeto.
Nota
O cronograma mínimo para backups é de 60 minutos ou 1 hora.
Toda política deve incluir uma cláusula SCHEDULE, uma cláusula EXPIRE_AFTER_DAYS ou ambas.
USING CRON expr time_zoneEspecifica uma expressão cron e um fuso horário para o momento em que um backup de um objeto é criado. Oferece suporte a um subconjunto de sintaxe de utilitário cron padrão.
Para uma lista de fusos horários, consulte a lista de fusos horários do banco de dados tz (no Wikipedia).
A expressão cron consiste nos seguintes campos:
# __________ minute (0-59) # | ________ hour (0-23) # | | ______ day of month (1-31, or L) # | | | ____ month (1-12, JAN-DEC) # | | | | __ day of week (0-6, SUN-SAT, or L) # | | | | | # | | | | | * * * * *
Os seguintes caracteres especiais são suportados:
*Curinga. Especifica qualquer ocorrência do campo.
LSignifica “último”. Quando usado no campo do dia da semana, permite especificar construções como “a última sexta-feira” (“5L”) de um determinado mês. No campo do dia do mês, ele especifica o último dia do mês.
/nIndica a enésima instância de uma determinada unidade de tempo. Cada quanta de tempo é computada independentemente. Por exemplo, se
4/3estiver especificado no campo do mês, o backup será programado para abril, julho e outubro (ou seja, a cada 3 meses, começando com o quarto mês do ano). O mesmo cronograma é mantido nos anos seguintes. Ou seja, o backup não está programado para ser executado em janeiro (3 meses após a execução de outubro).
Nota
Atualmente, a expressão cron avalia apenas em relação ao fuso horário especificado. Alterar o valor do parâmetro TIMEZONE para a conta (ou definir o valor no nível do usuário ou da sessão) não altera o fuso horário para o backup.
A expressão cron define todos os tempos de execução válidos de execução para o backup. O Snowflake tenta criar um backup com base nesse cronograma; no entanto, qualquer tempo de execução válido é ignorado se uma execução anterior não tiver sido concluída antes do próximo tempo de execução válido começar.
Quando tanto um dia específico do mês como um dia da semana são incluídos na expressão cron, o backup é programado em dias que satisfaçam o dia do mês ou o dia da semana. Por exemplo,
SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'agenda um backup às 0AM (meia-noite) em qualquer dia de 10 a 20 e também em qualquer terça ou quinta-feira fora dessas datas.
num MINUTEounum MINUTESEspecifica um intervalo (em minutos) de tempo de espera entre backups. Aceita apenas números inteiros positivos.
Também oferece suporte à sintaxe
num M.
num HOURounum HOURSEspecifica um intervalo (em horas) de tempo de espera entre os backups. Aceita apenas números inteiros positivos.
Também oferece suporte à sintaxe
num H.
Para evitar ambiguidade, um tempo de intervalo base é definido nas seguintes circunstâncias:
Quando o objeto é criado (usando CREATE BACKUP SET … WITH BACKUP POLICY).
Quando um intervalo diferente é definido (usando ALTER BACKUP SET … APPLY BACKUP POLICY ou ALTER BACKUP POLICY … SET SCHEDULE).
O tempo de intervalo base inicia o contador de intervalo a partir da hora atual do relógio. Por exemplo, se o valor de INTERVAL for definido como
10 MINUTESe o backup agendado for habilitado às 9:03 AM, os próximos backups serão criados às 9:13 AM, às 9:23 AM e assim por diante. Observe que fazemos o melhor para assegurar uma precisão absoluta, mas só garantimos que um backup não seja executado antes do intervalo definido ocorrer (ou seja, no exemplo atual, o backup poderia ser executado primeiro às 9:14 AM, mas definitivamente não será executado às 9:12 AM).EXPIRE_AFTER_DAYS = days_integerEspecifica o número de dias até que o backup expire. O Snowflake exclui automaticamente os backups expirados. Se esse parâmetro não for especificado, os backups permanecerão no conjunto de backups até serem excluídos manualmente do conjunto.
Valor mínimo:
1Valor máximo:
3653(aproximadamente 10 anos) se você não especificar a cláusulaSCHEDULE.
Nota
Se a política tiver um bloqueio de retenção, você poderá aumentar o valor de EXPIRE_AFTER_DAYS, mas não é possível diminuir esse valor.
Toda política deve incluir uma cláusula SCHEDULE, uma cláusula EXPIRE_AFTER_DAYS ou ambas.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter informações sobre como especificar tags em uma instrução, consulte Tag quotas.
UNSET...Desmarque uma das seguintes propriedades para a política de backups. A propriedade retorna ao seu valor padrão.
COMMENT
TAG tag_name [ , tag_name ... ]SCHEDULE
EXPIRE_AFTER_DAYS
Nota
Você pode remover a definição da propriedade SCHEDULE ou da propriedade EXPIRE_AFTER_DAYS, mas não de ambas. Por exemplo, é possível manter a propriedade EXPIRE_AFTER_DAYS quando você não pretende criar novos backups, mas deseja que os backups existentes expirem após um determinado período.
Requisitos de controle de acesso¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
Privilégio |
Notas |
|---|---|
OWNERSHIP |
A função usada para modificar uma política de backup deve ter o privilégio OWNERSHIP na política de backup. |
APPLY BACKUP RETENTION LOCK |
A função usada para modificar uma política de backup com bloqueio de retenção deve ter esse privilégio na conta. |
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
Rename the backup policy hourly_backup_policy to daily_backup_policy:
ALTER BACKUP POLICY hourly_backup_policy
RENAME TO daily_backup_policy;
Adicione um comentário à política de backup hourly_backup_policy:
ALTER BACKUP POLICY hourly_backup_policy
SET COMMENT = 'hourly backup expires in 90 days';
Altere o cronograma da política de backup every_two_hours:
ALTER BACKUP POLICY every_two_hours SET SCHEDULE = '120 MINUTE';
Inversão da propriedade EXPIRE_AFTER_DAYS de volta para seu valor padrão:
ALTER BACKUP POLICY sample_backup_policy UNSET EXPIRE_AFTER_DAYS;