CREATE SNAPSHOT

Nota

Esta operação não é atualmente coberta pelo nível de serviço definido na Política de suporte e Acordo de nível de serviço da Snowflake.

Cria ou substitui um instantâneo de um volume nomeado da instância de serviço especificada. O instantâneo é criado no esquema atual.

Consulte também:

ALTER SNAPSHOT, DESCRIBE SNAPSHOT, DROP SNAPSHOT , SHOW SNAPSHOTS

Sintaxe

CREATE [ OR REPLACE ] SNAPSHOT [ IF NOT EXISTS ] <name>
  FROM SERVICE <service_name>
  VOLUME "<volume_name>"
  INSTANCE <instance_id>
  [ COMMENT = '<string_literal>']
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
Copy

Parâmetros obrigatórios

name

Cadeia de caracteres que especifica o identificador (ou seja, o nome) do instantâneo; deve ser exclusivo para o esquema no qual o instantâneo é criado.

Além disso, o identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo, "My object"). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais informações, consulte Requisitos para identificadores.

FROM SERVICE service_name

Especifica o nome do serviço.

VOLUME "volume_name"

Especifica o nome do volume associado ao serviço. Os instantâneos só podem ser tirados para volumes de armazenamento em bloco (e não para volumes locais, de memória ou de estágio).

Os nomes de volume diferenciam maiúsculas de minúsculas. Portanto, aspas duplas devem sempre ser usadas para corresponder ao nome correspondente na especificação do serviço.

INSTANCE instance_id

Índice da instância do serviço. O índice de instância de serviço começa em 0 e o intervalo é [0, ...,  MAX_INSTANCES - 1]. Você pode chamar a função SYSTEM$GET_SERVICE_STATUS — Obsoleto para obter as informações relevantes.

Parâmetros opcionais

COMMENT = 'string_literal'

Especifica um comentário para o serviço.

Padrão: sem valor

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 Cotas de tags para objetos e colunas.

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

CREATE SNAPSHOT

Esquema

OPERATE

Serviço

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

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.

  • Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação.

Exemplos

Se você criar um serviço com duas instâncias (o número de contêineres não é relevante) com um volume chamado “dados”, você criaria um instantâneo do volume associado à primeira instância usando o seguinte SQL:

CREATE SNAPSHOT snapshot_0
  FROM SERVICE example_service
  VOLUME "data"
  INSTANCE 0
  COMMENT='new snapshot';
Copy

Para criar um instantâneo do volume associado à segunda instância de serviço, especifique INSTANCE 1 no SQL precedente.