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> ... ]
Copy

Parâmetros

name

Especifica 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_name

Especifica 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_zone

    Especifica 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.

    L

    Significa “ú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.

    /n

    Indica a enésima instância de uma determinada unidade de tempo. Cada quanta de tempo é computada independentemente. Por exemplo, se 4/3 estiver 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 MINUTE ou num MINUTES

    Especifica um intervalo (em minutos) de tempo de espera entre backups. Aceita apenas números inteiros positivos.

    Também oferece suporte à sintaxe num M.

  • num HOUR ou num HOURS

    Especifica 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 MINUTES e 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_integer

Especifica 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: 1

  • Valor máximo: 3653 (aproximadamente 10 anos) se você não especificar a cláusula SCHEDULE.

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;
Copy

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';
Copy

Altere o cronograma da política de backup every_two_hours:

ALTER BACKUP POLICY every_two_hours SET SCHEDULE = '120 MINUTE';
Copy

Inversão da propriedade EXPIRE_AFTER_DAYS de volta para seu valor padrão:

ALTER BACKUP POLICY sample_backup_policy UNSET EXPIRE_AFTER_DAYS;
Copy