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>' [ , ... ] ) ]
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';
Para criar um instantâneo do volume associado à segunda instância de serviço, especifique INSTANCE 1
no SQL precedente.