Résolution des problèmes liés aux budgets¶
Dans ce chapitre :
Les scénarios suivants peuvent vous aider à résoudre les problèmes qui peuvent survenir lors de la création ou de la modification de budgets :
Vous ne pouvez pas appeler de méthodes sur le budget du compte
Vous ne pouvez pas ajouter ou supprimer des objets d’un budget personnalisé
Vous ne pouvez pas définir de notifications par e-mail pour un budget
Vous ne pouvez pas appeler avec succès la méthode GET_SERVICE_TYPE_USAGE
Vous ne pouvez pas activer le budget du compte¶
Il existe plusieurs raisons pour lesquelles il se peut que vous ne puissiez pas activer le budget de votre compte :
Erreur |
Unknown user-defined function SNOWFLAKE.LOCAL.ACTIVATE
|
---|---|
Cause |
Si votre compte Snowflake est nouveau, le budget du compte n’est pas encore disponible dans votre compte. |
Solution |
Attendez que le budget du compte soit disponible dans votre compte venant d’être créé. Vous pourrez l’activer une fois qu’il sera disponible. |
Erreur |
FAILURE: Uncaught exception of type 'BUDGET_ALREADY_ACTIVATED' on line X at position X
|
---|---|
Cause |
Le budget du compte a déjà été activé. |
Solution |
Vous pouvez appeler la méthode <nom_budget>!GET_CONFIG pour afficher l’horodatage de l’activation : CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!GET_CONFIG();
|
Erreur |
-20000 (P0001): Uncaught exception of type 'NO_PERMISSION_TO_ACTIVATE_BUDGET' on line X at position X
|
---|---|
Cause |
Votre compte ne prend pas encore en charge la fonction Budgets. |
Solution |
La fonction Budgets n’est pas disponible pour les comptes dans les régions Gov. La prise en charge des régions Gov sera disponible dans une prochaine version. |
Vous ne pouvez pas créer de budget personnalisé¶
Il existe de nombreuses raisons pour lesquelles vous ne pouvez pas créer un budget personnalisé.
Erreur |
FAILURE: SQL access control error: Insufficient privileges to operate on class 'BUDGET'
|
---|---|
Cause |
Le rôle que vous utilisez n’a pas les privilèges requis pour créer des budgets personnalisés. |
Solution |
Utilisez un rôle avec les privilèges requis. Voir Créer un rôle personnalisé pour créer des budgets. |
Erreur |
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
|
---|---|
Cause |
Vous passez des arguments à la méthode du constructeur pour créer un budget. |
Solution |
Consultez CREATE BUDGET et modifiez votre instruction de création. |
Vous ne pouvez pas activer de budget personnalisé¶
Erreur |
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
|
---|---|
Cause |
Vous avez essayé d’appeler la méthode ACTIVATE sur un budget personnalisé. |
Solution |
La méthode ACTIVATE n’est disponible que sur le budget du compte. Une fois que vous avez créé un budget personnalisé, utilisez les méthodes <nom_budget>!SET_SPENDING_LIMIT et <nom_budget>!SET_EMAIL_NOTIFICATIONS pour configurer le budget et commencer à recevoir des e-mails de notification. |
Vous ne pouvez pas appeler de méthodes sur le budget du compte¶
Il y a plusieurs raisons pour lesquelles l’appel d’une méthode sur le budget du compte peut échouer.
Erreur |
-20000 (P0001): Uncaught exception of type 'FUNCTION_NOT_SUPPORTED_FOR_ACCOUNT_ROOT_BUDGET' on line 11 at position 18
|
---|---|
Cause |
Vous avez essayé d’appeler l’une des méthodes suivantes sur le budget du compte : |
Solution |
Ces méthodes ne sont pas disponibles sur le budget du compte. Le budget du compte contrôle tous les objets pris en charge dans le compte et les objets ne peuvent pas être ajoutés ou supprimés. Pour plus d’informations, consultez Budget du compte et budgets personnalisés. |
Erreur |
-20000 (P0001): Uncaught exception of type 'ACCOUNT_ROOT_BUDGET_NOT_ACTIVATED' on line X at position X
|
---|---|
Cause |
Vous avez essayé d’appeler une méthode sur le budget du compte avant que le budget du compte ne soit activé. |
Solution |
Vous ne pouvez pas ajouter ou supprimer des objets d’un budget personnalisé¶
Pour réussir à ajouter ou à supprimer un objet d’un budget personnalisé, le rôle utilisé pour appeler la méthode doit avoir les privilèges requis et le rôle.
Erreur |
002141 (42601): SQL compilation error:
Unknown user-defined function <budget_db>.<budget_schema>.<budget_name>!ADD_RESOURCE
|
---|---|
Cause |
Le rôle que vous avez utilisé pour appeler la méthode d’instance ne dispose pas des privilèges requis pour ajouter (ou supprimer) des objets au budget. |
Solution |
Accordez le rôle d’instance et les privilèges requis au rôle utilisé pour appeler la méthode. Pour plus d’informations, voir Créer un rôle personnalisé pour surveiller un budget personnalisé. |
Erreur |
002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.
|
---|---|
Cause |
Vous avez essayé d’ajouter un objet à un budget personnalisé, mais le rôle que vous avez utilisé pour appeler la méthode ne dispose pas des privilèges requis. |
Solution |
Pour ajouter (ou supprimer) un objet d’un budget, le rôle utilisé pour appeler la méthode doit avoir le privilège APPLYBUDGET sur l’objet. Si l’objet parent est une base de données ou un schéma, vous devez également disposer du privilège USAGE sur la base de données et le schéma qui contiennent l’objet. Pour plus d’informations, consultez la liste des privilèges requis pour les objets. |
Erreur |
Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.
|
---|---|
Cause |
Si vous créez une référence pour un objet sans spécifier le paramètre PRIVILEGE dans l’instruction SYSTEM$REFERENCE. |
Solution |
Créez la référence avec le privilège APPLYBUDGET sur l’objet. |
Erreur |
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.
|
---|---|
Cause |
Les causes de ce message d’erreur sont multiples :
|
Solution |
|
Vous ne pouvez pas définir de notifications par e-mail pour un budget¶
Les scénarios suivants peuvent vous aider à résoudre des problèmes courants lorsque vous appelez la méthode <nom_budget>!SET_EMAIL_NOTIFICATIONS.
Erreur |
Unknown user-defined function <database_name>.<schema_name>.<budget_name>.SET_EMAIL_NOTIFICATIONS
|
---|---|
Cause |
Le rôle que vous avez utilisé pour définir les notifications par e-mail pour un budget personnalisé n’a pas le rôle d’instance ADMIN. |
Solution |
Utilisez un rôle doté des privilèges et des rôles requis. Voir Exigences en matière de contrôle d’accès pour SET_EMAIL_NOTIFICATIONS. |
Erreur |
Integration '<INTEG_NAME>' does not exist or not authorized.
|
---|---|
Cause |
L’intégration des notifications n’existe pas. |
Solution |
Utilisez une intégration de notification valide. Pour plus d’informations, voir Créer une intégration des notifications par e-mail. Incluez les adresses e-mail pour les annonces de budgets dans la liste ALLOWED_RECIPIENTS. |
Erreur |
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>]
|
---|---|
Cause |
Les adresses e-mail ne sont pas incluses dans l’intégration de la notification. |
Solution |
Ajoutez les adresses e-mail à l’intégration de notification ou utilisez une intégration de notification qui inclut toutes les adresses e-mail de la liste ALLOWED_RECIPIENTS. |
Erreur |
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.
|
---|---|
Cause |
Certaines ou toutes les adresses e-mail que vous avez tenté d’ajouter ne sont pas validées. |
Solution |
Voir Vérifier les adresses e-mail des destinataires de la notification par e-mail. |
Vous ne pouvez pas appeler avec succès la méthode GET_SERVICE_TYPE_USAGE¶
Les scénarios suivants peuvent vous aider à résoudre des problèmes courants lorsque vous appelez la méthode <nom_budget>!GET_SERVICE_TYPE_USAGE.
Erreur |
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))
|
---|---|
Cause |
Vous avez appelé la méthode avec des arguments non valides ou un nombre d’arguments incorrect. |
Solution |
Vérifiez que les arguments que vous utilisez pour appeler la méthode sont valides et que vous avez inclus tous les arguments requis. |
Erreur |
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.
|
---|---|
Cause |
L’argument TIME_DEPART est une chaîne non valide. |
Solution |
Utilisez l’une des valeurs valides énumérées pour l’argument TIME_DEPART dans la rubrique de référence. |
Erreur |
100094 (22000): Uncaught exception of type 'STATEMENT_ERROR' on line 16 at position 23 : Unknown timezone: '<invalid_timezone>'
|
---|---|
Cause |
L’argument USER_TIMEZONE est une chaîne non valide. |
Solution |
Utilisez une chaîne de fuseau horaire valide. Pour plus d’informations, voir les notes sur l’utilisation de GET_SERVICE_TYPE_USAGE. |
La fonction Budgets n’est pas disponible pour votre compte¶
Erreurs |
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'.
|
---|---|
Cause |
Votre compte ne prend pas encore en charge la fonction Budgets. |
Solution |
La fonction Budgets n’est pas disponible pour les comptes dans les régions Gov. La prise en charge des régions Gov sera disponible dans une prochaine version. |