Solução de problemas de orçamento¶
Este tópico explica como monitorar orçamentos em busca de problemas e fornece soluções para problemas comuns.
Como uma tabela de eventos para monitorar orçamentos¶
Você pode usar uma tabela de eventos para coletar dados de telemetria relacionados a orçamentos. Depois que o Snowflake começar a coletar os dados na tabela de eventos, você poderá consultar a tabela, criar um fluxo para rastrear alterações ou definir alertas para enviar notificações quando determinados eventos ocorrerem.
If you don’t want to collect telemetry data for budgets, you must set the
ENABLE_BUDGET_EVENT_LOGGING account parameter to FALSE to turn it off.
Explicação dos eventos¶
A tabela a seguir descreve os valores na tabela de eventos que correspondem a eventos de orçamento para que você possa se concentrar nos eventos apropriados. Para obter informações detalhadas sobre a estrutura de uma tabela de eventos, consulte Colunas da tabela de eventos.
Colunas da tabela de eventos |
Campo |
Valor |
Descrição |
|---|---|---|---|
|
|
|
ID único da instância de orçamento. |
|
|
Nome totalmente qualificado da instância de orçamento. |
|
|
|
|
Identificador constante para todos os eventos de telemetria de orçamento. |
|
n/a |
|
Indica um evento de log de orçamento. |
|
|
|
Nome descritivo do evento. Os valores possíveis incluem:
|
|
|
Nível de gravidade do evento de orçamento. |
|
|
|
|
Mensagem descritiva do evento, geralmente incluindo detalhes contextuais, como o nome da integração ou a operação. |
Use os exemplos a seguir para entender melhor como identificar eventos de orçamento em uma tabela de eventos.
- Consulta: Encontrar todos os eventos relacionados à propagação de todos os orçamentos dentro da conta.
- Consulta: Encontrar todos os eventos relacionados a um orçamento específico (por exemplo,
MY_DB.SCH1.MY_BUDGET)
Solução de problemas específicos¶
Os cenários a seguir podem ajudar você a solucionar problemas que podem ocorrer ao criar ou editar orçamentos:
Você não pode adicionar ou remover objetos de um orçamento personalizado
Você não pode definir notificações por e-mail para um orçamento
Você não pode chamar com sucesso o método GET_SERVICE_TYPE_USAGE
Você não pode ativar o orçamento da conta¶
Existem vários motivos pelos quais você pode não conseguir ativar o orçamento da sua conta:
Erro |
|
|---|---|
Causa |
Se sua conta Snowflake for nova, o orçamento da conta ainda não estará disponível em sua conta. |
Solução |
Aguarde até que o orçamento da conta esteja disponível na sua conta recém-criada. Você pode ativá-lo depois que estiver disponível. |
Erro |
|
|---|---|
Causa |
O orçamento da conta já foi ativado. |
Solução |
Você pode chamar o método <budget_name>!GET_CONFIG para visualizar o carimbo de data/hora de ativação: |
Erro |
|
|---|---|
Causa |
Sua conta ainda não oferece suporte ao recurso Budgets. |
Solução |
O recurso Budgets não está disponível para contas em regiões governamentais. O suporte para regiões governamentais estará disponível em uma versão futura. |
Você não pode criar um orçamento personalizado¶
Existem vários motivos pelos quais você pode não conseguir criar um orçamento personalizado.
Erro |
|
|---|---|
Causa |
A função que você está usando não tem os privilégios necessários para criar orçamentos personalizados. |
Solução |
Use uma função com os privilégios necessários. Consulte Crie uma função personalizada para criar orçamentos. |
Erro |
|
|---|---|
Causa |
Você passa argumentos para o método do construtor para criar um orçamento. |
Solução |
Consulte CREATE BUDGET e edite sua instrução create. |
Você não pode ativar um orçamento personalizado¶
Erro |
|
|---|---|
Causa |
Você tentou chamar o método ACTIVATE em um orçamento personalizado. |
Solução |
O método ACTIVATE está disponível apenas no orçamento da conta. Depois de criar um orçamento personalizado, use os métodos <budget_name>!SET_SPENDING_LIMIT e <budget_name>!SET_EMAIL_NOTIFICATIONS para configurar o orçamento e começar a receber e-mails de notificação. |
Você não pode chamar métodos no orçamento da conta¶
Há vários motivos pelos quais a chamada de um método no orçamento da conta pode falhar.
Erro |
|
|---|---|
Causa |
Você tentou chamar qualquer um dos seguintes métodos no orçamento da conta: |
Solução |
Esses métodos não estão disponíveis no orçamento da conta. O orçamento da conta monitora todos os objetos suportados na conta e os objetos não podem ser adicionados ou removidos. Para obter mais informações, consulte Orçamento de conta e orçamentos personalizados. |
Erro |
|
|---|---|
Causa |
Você tentou chamar um método no orçamento da conta antes que o orçamento da conta fosse ativado. |
Solução |
Você não pode adicionar ou remover objetos de um orçamento personalizado¶
Para adicionar ou remover com sucesso um objeto de um orçamento personalizado, a função usada para chamar o método deve ter os privilégios e funções necessários.
Erro |
|
|---|---|
Causa |
A função que você usou para chamar o método de instância não tem os privilégios necessários para adicionar (ou remover) objetos do orçamento. |
Solução |
Conceda a função de instância e os privilégios necessários à função usada para chamar o método. Para obter mais informações, consulte Criação de uma função personalizada para monitorar um orçamento personalizado. |
Erro |
|
|---|---|
Causa |
Você tentou adicionar um objeto a um orçamento personalizado, mas a função usada para chamar o método não tem os privilégios necessários. |
Solução |
Para adicionar (ou remover) um objeto de um orçamento, a função usada para chamar o método deve ter o privilégio APPLYBUDGET sobre o objeto. Se o objeto pai for um banco de dados ou esquema, você também deverá ter o privilégio USAGE no banco de dados e esquema que contém o objeto. Para mais informações, consulte a lista de privilégios de objeto necessários. |
Erro |
|
|---|---|
Causa |
Você tentou criar uma referência para um objeto sem especificar o parâmetro PRIVILEGE na instrução SYSTEM$REFERENCE. |
Solução |
Crie a referência com o privilégio APPLYBUDGET no objeto. |
Erro |
|
|---|---|
Causa |
Existem várias causas para esta mensagem de erro:
|
Solução |
|
Você não pode definir notificações por e-mail para um orçamento¶
Os cenários a seguir podem ajudar você a solucionar problemas comuns ao chamar o método <budget_name>!SET_EMAIL_NOTIFICATIONS.
Erro |
|
|---|---|
Causa |
A função que você usou para definir as notificações por e-mail para um orçamento personalizado não tem a função de instância ADMIN. |
Solução |
Use uma função com os privilégios e funções necessários. Consulte Requisitos de controle de acesso para SET_EMAIL_NOTIFICATIONS. |
Erro |
|
|---|---|
Causa |
A integração de notificação não existe. |
Solução |
Use uma integração de notificação válida. Para obter mais informações, consulte Criar uma integração de notificação por e-mail. Inclua os endereços de e-mail para notificações de orçamento na lista ALLOWED_RECIPIENTS. |
Erro |
|
|---|---|
Causa |
Os endereços de e-mail não estão incluídos na integração de notificação. |
Solução |
Adicione os endereços de e-mail à integração de notificação ou use uma integração de notificação que inclua todos os endereços de e-mail na lista ALLOWED_RECIPIENTS. |
Erro |
|
|---|---|
Causa |
Alguns ou todos os endereços de e-mail que você tentou adicionar não foram validados. |
Solução |
Consulte Verificar os endereços de e-mail dos destinatários da notificação por e-mail. |
Você não pode chamar com sucesso o método GET_SERVICE_TYPE_USAGE¶
Os cenários a seguir podem ajudar você a solucionar problemas comuns ao chamar o método <budget_name>!GET_SERVICE_TYPE_USAGE.
Erro |
|
|---|---|
Causa |
Você chamou o método com argumentos inválidos ou com o número errado de argumentos. |
Solução |
Verifique se os argumentos usados para chamar o método são válidos e se você incluiu todos os argumentos necessários. |
Erro |
|
|---|---|
Causa |
O argumento TIME_DEPART é uma cadeia de caracteres inválida. |
Solução |
Use um dos valores válidos listados para o argumento TIME_DEPART no tópico de referência. |
Erro |
|
|---|---|
Causa |
O argumento USER_TIMEZONE é uma cadeia de caracteres inválida. |
Solução |
Use uma cadeia de caracteres de fuso horário válida. Para obter mais informações, consulte as notas de uso para GET_SERVICE_TYPE_USAGE. |
O recurso do Budgets não está disponível para sua conta¶
Erros |
|
|---|---|
Causa |
Sua conta ainda não oferece suporte ao recurso Budgets. |
Solução |
O recurso Budgets não está disponível para contas em regiões governamentais. O suporte para regiões governamentais estará disponível em uma versão futura. |