ALTER ALERT

Modifica as propriedades de um alerta existente e suspende ou reinicia um alerta existente.

Consulte também:

CREATE ALERT , DESCRIBE ALERT, DROP ALERT , SHOW ALERTS

Sintaxe

ALTER ALERT [ IF EXISTS ] <name> { RESUME | SUSPEND };

ALTER ALERT [ IF EXISTS ] <name> SET
  [ WAREHOUSE = <string> ]
  [ SCHEDULE = '{ <number> MINUTE | USING CRON <expr> <time_zone> }' ]
  [ COMMENT = <string> ]

ALTER ALERT [ IF EXISTS ] <name> UNSET
  [ WAREHOUSE ]
  [ SCHEDULE ]
  [ COMMENT ]
  [ , ... ]

ALTER ALERT [ IF EXISTS ] <name> MODIFY CONDITION EXISTS (<condition>)

ALTER ALERT [ IF EXISTS ] <name> MODIFY ACTION <action>
Copy

Parâmetros

name

Identificador do alerta a ser alterado. 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.

RESUME | SUSPEND

Especifica a ação a ser executada no alerta:

  • RESUME torna ativo um alerta suspenso.

  • SUSPEND coloca o alerta em um estado «Suspenso».

Se a programação do alerta for definida como um intervalo (isto é, num MINUTE), então para evitar ambiguidade, o tempo de intervalo base para a programação será redefinido para a hora atual quando o alerta é retomado.

O tempo de intervalo base inicia o contador de intervalo a partir da hora atual do relógio. Por exemplo, se um alerta for criado com 10 MINUTE e o alerta for retomado às 9:03h AM, então o alerta será executado às 9:13h AM, 9:23h AM, e assim por diante. Note que fazemos o melhor para assegurar precisão absoluta, mas apenas garantimos que os alertas não sejam executados antes que seu intervalo definido ocorra (por exemplo, no exemplo atual, o alerta poderia ser executado primeiro às 9:14h AM, mas definitivamente não será executado às 9:12h AM).

SET ...

Especifica uma (ou mais) propriedades a serem definidas para o alerta (separadas por espaços em branco, vírgulas ou novas linhas). Para obter mais detalhes sobre as propriedades que você pode definir, consulte CREATE ALERT.

UNSET ...

Especifica uma (ou mais) propriedades e/ou parâmetros de sessão a serem removidos para o alerta, o que os restabelece para os padrões.

Você pode redefinir várias propriedades/parâmetros com uma única instrução ALTER; no entanto, cada propriedade/parâmetro deve ser separado por uma vírgula. Ao redefinir uma propriedade/parâmetro, especifique somente o nome; especificar um valor para a propriedade/parâmetro retornará um erro.

MODIFY CONDITION EXISTS (condition)

Especifica a instrução SQL que deve representar a condição para o alerta. Você pode usar os seguintes comandos:

Se a instrução retornar uma ou mais linhas, a ação de alerta será executada.

MODIFY ACTION action

Especifica a instrução SQL que deve ser executada se a condição retornar uma ou mais linhas.

Para enviar uma notificação por e-mail, você pode chamar o procedimento armazenado SYSTEM$SEND_EMAIL().

Requisitos de controle de acesso

A execução deste comando SQL exige funções com os seguintes privilégios no mínimo:

  • Para retomar um alerta:

    • A função com o privilégio OWNERSHIP no alerta também deve ter o privilégio global EXECUTE ALERT.

    • A função executando ALTER ALERT deve ter o privilégio OPERATE ou OWNERSHIP no alerta.

  • Para suspender um alerta, a função executando ALTER ALERT deve ter o privilégio OPERATOR ou OWNERSHIP no alerta.

  • Para modificar as propriedades do alerta, a função executando ALTER ALERT deve ter o privilégio OWNERSHIP no alerta.

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

  • Quando um alerta é retomado, o Snowflake verifica se a função com o privilégio OWNERSHIP no alerta também tem o privilégio USAGE no warehouse atribuído ao alerta, assim como o privilégio global EXECUTE ALERT; caso contrário, um erro será gerado.

  • Somente os administradores de conta (usuários com a função ACCOUNTADMIN) podem conceder o privilégio EXECUTE ALERT a uma função. Para facilitar o uso, recomendamos a criação de uma função personalizada (por exemplo, alert_admin) e a atribuição do privilégio EXECUTE ALERT a esta função. Qualquer função que possa conceder privilégios (por exemplo, SECURITYADMIN ou qualquer função com o privilégio MANAGE GRANTS) pode então conceder esta função personalizada a qualquer função de proprietário do alerta para permitir a alteração de seus próprios alertas. Para instruções sobre como criar funções e hierarquias de funções personalizadas, consulte Configuração do controle de acesso.