ALTER SNAPSHOT SET

Modifica as propriedades de um conjunto de instantâneo. Esta operação pode ser uma das seguintes opções:

  • Fazer um novo backup que se torne parte do conjunto de instantâneos.

  • Remover um backup antigo do conjunto de instantâneos.

  • Suspender ou retomar os backups agendados e a exclusão de instantâneos agendados especificados pela política de instantâneos.

  • Aplicar uma política de instantâneos a um conjunto de instantâneos que ainda não têm uma política.

  • Adicionar ou remover uma retenção legal para um instantâneo específico dentro do conjunto de instantâneos.

  • Especificar ou remover um comentário do conjunto de instantâneos.

Consulte também:

CREATE SNAPSHOT SET, DROP SNAPSHOT SET, SHOW SNAPSHOT SETS

Sintaxe

ALTER SNAPSHOT SET <name> ADD SNAPSHOT

ALTER SNAPSHOT SET <name> APPLY SNAPSHOT POLICY <policy_name>

ALTER SNAPSHOT SET <name> SUSPEND SNAPSHOT POLICY

ALTER SNAPSHOT SET <name> RESUME SNAPSHOT POLICY

ALTER SNAPSHOT SET <name> DELETE SNAPSHOT IDENTIFIER '<snapshot_id>'

ALTER SNAPSHOT SET <name> MODIFY SNAPSHOT IDENTIFIER '<snapshot_id>' { ADD | REMOVE } LEGAL HOLD

ALTER SNAPSHOT SET <name> SET COMMENT = '<string_literal>'

ALTER SNAPSHOT SET <name> UNSET COMMENT
Copy

Parâmetros

name

Especifica o identificador do conjunto de instantâneos.

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.

ADD SNAPSHOT

Crie um instantâneo no conjunto manualmente. Se a política de instantâneos não incluir um cronograma para fazer novos backups, é assim que você faz um novo backup da tabela, esquema ou banco de dados incluído no conjunto de instantâneos. Também é possível fazer novos backups no conjunto de instantâneos a qualquer momento, mesmo quando os backups acontecem regularmente.

APPLY SNAPSHOT POLICY policy_name

Especifica a política de instantâneos a ser anexada ao conjunto de instantâneos.

Importante

Aplicar uma política de instantâneos com um bloqueio de retenção a um conjunto de instantâneos é irreversível. Devido às sólidas garantias necessárias para a conformidade regulatória, depois de colocar um bloqueio de retenção em um conjunto de instantâneos, não será possível revogar o bloqueio. O suporte Snowflake também não pode revogar esse bloqueio de retenção. Planeje com cuidado antes de definir um bloqueio de retenção em um conjunto de instantâneos com um longo período de expiração, para evitar cobranças inesperadas de armazenamento para conjuntos de instantâneos não excluíveis e para os esquemas e bancos de dados que os contêm.

Se uma organização Snowflake for excluída, ela deixará de ser um cliente Snowflake. Nesse caso, o Snowflake exclui todos os instantâneos, incluindo aqueles com bloqueios de retenção. A exclusão de uma organização Snowflake requer o envolvimento do suporte Snowflake. Não é algo que um administrador possa fazer por acidente.

SUSPEND SNAPSHOT POLICY

Suspenda uma política de instantâneos no conjunto de instantâneos. Para obter mais informações, consulte Suspender uma política de instantâneo em um conjunto de instantâneos.

RESUME SNAPSHOT POLICY

Retome uma política de instantâneos suspensa no conjunto. Para obter mais informações, consulte Retomar uma política de instantâneo em um conjunto de instantâneos.

DELETE SNAPSHOT IDENTIFIER 'snapshot_id'

Exclua um instantâneo no instantâneo definido por ID. O ID do instantâneo é um valor UUID, no formato retornado pela função UUID_STRING. Para obter mais informações, consulte Excluir um instantâneo de um conjunto de instantâneos.

ALTER SNAPSHOT SET name MODIFY SNAPSHOT IDENTIFIER 'snapshot_id' ADD | REMOVE LEGAL HOLD

Adiciona ou remove uma retenção legal de um instantâneo especificado dentro do conjunto de instantâneos. Para obter mais informações sobre retenções legais de instantâneos WORM, consulte Retenção legal. Para exemplos de uso desta cláusula, consulte Adicionar e remover retenções legais.

SET COMMENT = 'string_literal'

Associe um comentário ao conjunto de instantâneos.

UNSET COMMENT

Remova o comentário do conjunto de instantâneos.

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

Descrição

OWNERSHIP

A função usada para modificar um conjunto de instantâneos deve ter o privilégio OWNERSHIP no conjunto de instantâneos.

APPLY SNAPSHOT RETENTION LOCK

Se a política de instantâneos aplicada a um conjunto de instantâneos incluir um bloqueio de retenção, a função usada para aplicar a política deve ter esse privilégio na conta.

APPLY LEGAL HOLD

Esse privilégio de conta permite adicionar ou remover uma retenção legal de um instantâneo. Esse privilégio só é necessário para as cláusulas ADD LEGAL HOLD e REMOVE LEGAL HOLD. Por padrão, a função ACCOUNTADMIN tem este privilégio.

APPLY

Somente um usuário com este privilégio na política de instantâneos pode usar o comando ALTER SNAPSHOT SET com a cláusula APPLY SNAPSHOT POLICY para adicionar a política de instantâneos a um conjunto de instantâneos existente.

Esses privilégios são exigidos na função primária atualmente ativa, não em uma função secundária.

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.

Importante

Se a política de instantâneos tiver um bloqueio de retenção aplicado a ela e houver quaisquer instantâneos não expirados no conjunto de instantâneos, não será possível excluir o conjunto de instantâneos. Nesse caso, você deve aguardar até que todos os instantâneos no conjunto expirem. Esta restrição aplica-se até mesmo a funções privilegiadas como ACCOUNTADMIN, e ao suporte Snowflake. Por esse motivo, tenha cuidado ao especificar o bloqueio de retenção e um longo período de expiração em uma política de instantâneo.

Exemplos

Adicionar manualmente um instantâneo ao conjunto de instantâneos t1_snapshots:

ALTER SNAPSHOT SET t1_snapshots
  ADD SNAPSHOT;
Copy

Atualizar a política de instantâneos para conjunto de instantâneos t1_snapshots:

ALTER SNAPSHOT SET t1_snapshots
  APPLY SNAPSHOT POLICY daily_snapshot_policy;
Copy

Suspender uma política de instantâneos no conjunto de instantâneos t1_snapshot:

ALTER SNAPSHOT SET t1_snapshots
  SUSPEND SNAPSHOT POLICY;
Copy

Retomar uma política de instantâneos no conjunto de instantâneos t1_snapshots:

ALTER SNAPSHOT SET t1_snapshots
  RESUME SNAPSHOT POLICY;
Copy

Para encontrar o identificador de instantâneo a ser usado com as cláusulas ADD LEGAL HOLD e REMOVE LEGAL HOLD, você normalmente usa o comando SHOW SNAPSHOTS para listar os instantâneos elegíveis e seus horários de criação. O exemplo a seguir mostra como você pode listar os instantâneos apropriados, adicionar uma retenção legal a um instantâneo específico e, posteriormente, remover essa retenção legal. Substitua seu próprio nome de função, nome do conjunto de instantâneos e identificador de instantâneos.

USE ROLE my_legal_hold_role; -- use a role that has the APPLY LEGAL HOLD privilege
SHOW SNAPSHOTS IN SNAPSHOT SET my_db_snapshot_set
  ->> SELECT "created_on", "snapshot_id" FROM $1 WHERE "is_under_legal_hold" = 'N';
ALTER SNAPSHOT SET my_db_snapshot_set
  MODIFY SNAPSHOT IDENTIFIER '790d1ee4-88b2-451f-9ccc-eacd1e93a134'
  ADD LEGAL HOLD;

USE ROLE my_legal_hold_role; -- use a role that has the APPLY LEGAL HOLD privilege
SHOW SNAPSHOTS IN SNAPSHOT SET my_db_snapshot_set
  ->> SELECT "created_on", "snapshot_id" FROM $1 WHERE "is_under_legal_hold" = 'Y';
ALTER SNAPSHOT SET my_db_snapshot_set
  MODIFY SNAPSHOT IDENTIFIER '790d1ee4-88b2-451f-9ccc-eacd1e93a134'
  REMOVE LEGAL HOLD;
Copy