Solução de problemas de orçamento¶
Neste tópico:
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 |
Unknown user-defined function SNOWFLAKE.LOCAL.ACTIVATE
|
---|---|
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 |
FAILURE: Uncaught exception of type 'BUDGET_ALREADY_ACTIVATED' on line X at position X
|
---|---|
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: CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!GET_CONFIG();
|
Erro |
-20000 (P0001): Uncaught exception of type 'NO_PERMISSION_TO_ACTIVATE_BUDGET' on line X at position X
|
---|---|
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 |
FAILURE: SQL access control error: Insufficient privileges to operate on class 'BUDGET'
|
---|---|
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 |
FAILURE: Uncaught exception of type 'STATEMENT_ERROR' on line 0 at position -1 :
Uncaught exception of type 'UNSUPPORTED_BUDGET_TYPE' on line X at position X
|
---|---|
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 |
FAILURE: Uncaught exception of type 'STATEMENT_ERROR' on line 0 at position -1 :
Uncaught exception of type 'UNSUPPORTED_BUDGET_TYPE' on line X at position X
|
---|---|
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 |
-20000 (P0001): Uncaught exception of type 'FUNCTION_NOT_SUPPORTED_FOR_ACCOUNT_ROOT_BUDGET' on line 11 at position 18
|
---|---|
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 |
-20000 (P0001): Uncaught exception of type 'ACCOUNT_ROOT_BUDGET_NOT_ACTIVATED' on line X at position X
|
---|---|
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 |
002141 (42601): SQL compilation error:
Unknown user-defined function <budget_db>.<budget_schema>.<budget_name>!ADD_RESOURCE
|
---|---|
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 |
002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.
|
---|---|
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 |
Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.
|
---|---|
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 |
505001 (55000): Uncaught exception of type 'EXPRESSION_ERROR' on line 10
at position 21 : Specified object does not exist or not authorized for
the reference.
|
---|---|
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 |
Unknown user-defined function <database_name>.<schema_name>.<budget_name>.SET_EMAIL_NOTIFICATIONS
|
---|---|
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 |
Integration '<INTEG_NAME>' does not exist or not authorized.
|
---|---|
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 |
FAILURE: Uncaught exception of type 'EXPRESSION_ERROR' on line 16 at position 34 : Following email address(es) are not
allowed by the email integration <INTEGRATION_NAME>: [<email>]
|
---|---|
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 |
Email recipients in the given list at indexes [<index_list>] are not allowed. Either these email addresses are not yet validated
or do not belong to any user in the current account.
|
---|---|
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 |
001044 (42P13): SQL compilation error: error line 0 at position -1 Invalid argument types for function 'GET_SERVICE_TYPE_USAGE':
(VARCHAR(X), VARCHAR(X), VARCHAR(X), VARCHAR(X))
|
---|---|
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 |
002151 (22023): Uncaught exception of type 'STATEMENT_ERROR' on line 16 at position 23 : SQL compilation error:
[:TIME_DEPART] is not a valid date/time component for function DATE_TRUNC.
|
---|---|
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 |
100094 (22000): Uncaught exception of type 'STATEMENT_ERROR' on line 16 at position 23 : Unknown timezone: '<invalid_timezone>'
|
---|---|
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 |
FAILURE: SQL compilation error: Class 'SNOWFLAKE.CORE.BUDGET' does not exist or not authorized.
000002 (0A000): Uncaught exception of type 'STATEMENT_ERROR' on line 0 at position -1 : Unsupported feature 'TOK_RESOURCE_GROUP'.
|
---|---|
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. |