Probleme mit Budgets beheben

Unter diesem Thema:

Die folgenden Szenarios können Ihnen helfen, Probleme zu beheben, die beim Erstellen oder Bearbeiten von Budgets auftreten können:

Sie können das Kontobudget nicht aktivieren

Es gibt mehrere Gründe, warum Sie Ihr Kontobudget nicht aktivieren können.

Fehler

Unknown user-defined function SNOWFLAKE.LOCAL.ACTIVATE

Ursache

Wenn Ihr Snowflake-Konto neu ist, ist das Kontobudget noch nicht in Ihrem Konto verfügbar.

Lösung

Warten Sie, bis das Kontobudget in Ihrem neu eingerichteten Konto verfügbar ist. Sie können es aktivieren, sobald es verfügbar ist.

Fehler

FAILURE: Uncaught exception of type 'BUDGET_ALREADY_ACTIVATED' on line X at position X

Ursache

Das Kontobudget ist bereits aktiviert worden.

Lösung

Sie können die Methode <budget_name>!GET_CONFIG aufrufen, um den Zeitstempel der Aktivierung anzuzeigen:

CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!GET_CONFIG();
Copy

Fehler

-20000 (P0001): Uncaught exception of type 'NO_PERMISSION_TO_ACTIVATE_BUDGET' on line X at position X

Ursache

Ihr Konto unterstützt noch nicht das Budgets-Feature.

Lösung

Das Budgets-Feature ist für Konten in Regionen von Regierungsbehörden (Gov) nicht verfügbar. Unterstützung für Gov-Regionen wird in einem zukünftigen Release bereitgestellt.

Sie können kein kundenspezifisches Budget erstellen

Es gibt mehrere Gründe, warum Sie kein kundenspezifisches Budget erstellen können.

Fehler

FAILURE: SQL access control error: Insufficient privileges to operate on class 'BUDGET'

Ursache

Die von Ihnen verwendete Rolle hat keine Berechtigung zum Erstellen kundenspezifischer Budgets.

Lösung

Verwenden Sie eine Rolle mit den erforderlichen Berechtigungen. Siehe Kundenspezifische Rolle zum Erstellen von Budgets erstellen.

Fehler

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

Ursache

Sie übergeben Argumente an die Konstruktormethode, um ein Budget zu erstellen.

Lösung

Informationen dazu finden Sie unter CREATE BUDGET, und überprüfen Sie Ihre CREATE-Anweisung.

Sie können ein kundenspezifisches Budget nicht aktivieren

Fehler

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

Ursache

Sie haben versucht, die Methode ACTIVATE für ein kundenspezifisches Budget aufzurufen.

Lösung

Die Methode ACTIVATE ist nur für Kontobudgets verfügbar. Nachdem Sie ein kundenspezifisches Budget erstellt haben, verwenden Sie die Methoden <budget_name>!SET_SPENDING_LIMIT und <budget_name>!SET_EMAIL_NOTIFICATIONS, um das Budget zu konfigurieren und Benachrichtigungs-E-Mails zu erhalten.

Sie können für das Kontobudget keine Methoden aufrufen

Es gibt mehrere Gründe, warum das Aufrufen einer Methode für das Kontobudget fehlschlagen kann.

Fehler

-20000 (P0001): Uncaught exception of type 'FUNCTION_NOT_SUPPORTED_FOR_ACCOUNT_ROOT_BUDGET' on line 11 at position 18

Ursache

Sie haben versucht, eine der folgenden Methoden für das Kontobudget aufzurufen:

Lösung

Diese Methoden sind für Kontobudgets nicht verfügbar. Das Kontobudget überwacht alle unterstützten Objekte des Kontos, und es können keine Objekte hinzugefügt oder entfernt werden. Weitere Informationen dazu finden Sie unter Kontobudget und kundenspezifische Budgets.

Fehler

-20000 (P0001): Uncaught exception of type 'ACCOUNT_ROOT_BUDGET_NOT_ACTIVATED' on line X at position X

Ursache

Sie haben versucht, eine Methode für das Kontobudget aufzurufen, bevor das Kontobudget aktiviert wurde.

Lösung

Aktivieren Sie das Kontobudget.

Sie können keine Objekte eines kundenspezifischen Budgets hinzufügen oder entfernen

Um ein Objekt erfolgreich zu einem kundenspezifischen Budget hinzuzufügen oder daraus zu entfernen, muss die Rolle, mit der die Methode aufgerufen wird, über die erforderlichen Berechtigungen und die erforderliche Rolle verfügen.

Fehler

002141 (42601): SQL compilation error:
Unknown user-defined function <budget_db>.<budget_schema>.<budget_name>!ADD_RESOURCE

Ursache

Die Rolle, mit der Sie die Instanzmethode aufgerufen haben, verfügt nicht über die erforderlichen Berechtigungen, um Objekte zu dem Budget hinzuzufügen (oder daraus zu entfernen).

Lösung

Weisen Sie der Rolle, die zum Aufrufen der Methode verwendet wird, die erforderliche Instanzrolle und die erforderlichen Berechtigungen zu. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen.

Fehler

002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.

Ursache

Sie haben versucht, ein Objekt zu einem kundenspezifischen Budget hinzuzufügen, aber die Rolle, mit der Sie die Methode aufgerufen haben, hat nicht die erforderlichen Berechtigungen.

Lösung

Um ein Objekt zu einem Budget hinzuzufügen (oder daraus zu entfernen), muss die Rolle, mit der die Methode aufgerufen wird, die Berechtigung APPLYBUDGET für das Objekt haben. Wenn das übergeordnete Objekt eine Datenbank oder ein Schema ist, müssen Sie auch die Berechtigung USAGE für die Datenbank und das Schema haben, die das Objekt enthalten.

Weitere Informationen dazu finden Sie in der Liste der erforderlichen Berechtigungen für Objekte.

Fehler

Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.

Ursache

Sie haben versucht, eine Referenz für ein Objekt zu erstellen, ohne den Parameter PRIVILEGE in der Anweisung SYSTEM$REFERENCE anzugeben.

Lösung

Erstellen Sie die Referenz mit der Berechtigung APPLYBUDGET für das Objekt.

Fehler

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.

Ursache

Es gibt mehrere Ursachen für diese Fehlermeldung:

  • Sie haben versucht, die SNOWFLAKE-Datenbank mit einer Inline-SYSTEM$REFERENCE-Anweisung zu einem kundenspezifischen Budget hinzuzufügen.

  • Sie haben nicht die erforderlichen Berechtigungen für das Objekt, um eine Referenz darauf zu erstellen. Die gültige Referenz ist erforderlich, um das Objekt zu einem Budget hinzufügen zu können.

Lösung

Sie können keine E-Mail-Benachrichtigungen für ein Budget einstellen

Die folgenden Szenarios können Ihnen helfen, häufige Probleme beim Aufrufen der Methode <budget_name>!SET_EMAIL_NOTIFICATIONS zu beheben.

Fehler

Unknown user-defined function <database_name>.<schema_name>.<budget_name>.SET_EMAIL_NOTIFICATIONS

Ursache

Die Rolle, die Sie zum Einstellen der E-Mail-Benachrichtigungen für ein kundenspezifisches Budget verwendet haben, verfügt nicht über die ADMIN-Instanzrolle.

Lösung

Verwenden Sie eine Rolle, der die erforderlichen Berechtigungen und Rollen zugewiesen sind. Weitere Informationen dazu finden Sie unter Anforderungen an die Zugriffssteuerung für SET_EMAIL_NOTIFICATIONS.

Fehler

Integration '<INTEG_NAME>' does not exist or not authorized.

Ursache

Die Benachrichtigungsintegration ist nicht vorhanden.

Lösung

Verwenden Sie eine gültige Benachrichtigungsintegration. Weitere Informationen dazu finden Sie unter Integration für E-Mail-Benachrichtigungen erstellen. Nehmen Sie die E-Mail-Adressen für die Budgetbenachrichtigung in die Zulassungsliste ALLOWED_RECIPIENTS auf.

Fehler

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>]

Ursache

Die E-Mail-Adressen sind nicht in der Benachrichtigungsintegration enthalten.

Lösung

Fügen Sie die E-Mail-Adressen zur Benachrichtigungsintegration hinzu, oder verwenden Sie eine Benachrichtigungsintegration, die alle E-Mail-Adressen in der Liste ALLOWED_RECIPIENTS enthält.

Fehler

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.

Ursache

Einige oder alle der E-Mail-Adressen, die Sie versucht haben, hinzuzufügen, sind nicht validiert.

Lösung

Siehe E-Mail-Adressen der E-Mail-Benachrichtigungsempfänger verifizieren.

Sie können die Methode GET_SERVICE_TYPE_USAGE nicht erfolgreich aufrufen

Die folgenden Szenarios können Ihnen helfen, häufige Probleme beim Aufrufen der Methode <budget_name>!GET_SERVICE_TYPE_USAGE zu beheben.

Fehler

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))

Ursache

Sie haben die Methode mit ungültigen Argumenten oder der falschen Anzahl von Argumenten aufgerufen.

Lösung

Überprüfen Sie, ob die Argumente, die Sie zum Aufrufen der Methode verwenden, gültig sind und ob Sie alle erforderlichen Argumente angegeben haben.

Fehler

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.

Ursache

Das Argument TIME_DEPART ist eine ungültige Zeichenfolge.

Lösung

Verwenden Sie einen der gültigen Werte, die für das Argument TIME_DEPART im Referenzthema aufgeführt sind.

Fehler

100094 (22000): Uncaught exception of type 'STATEMENT_ERROR' on line 16 at position 23 : Unknown timezone: '<invalid_timezone>'

Ursache

Das Argument USER_TIMEZONE ist eine ungültige Zeichenfolge.

Lösung

Verwenden Sie eine gültige Zeichenfolge für die Zeitzone. Weitere Informationen dazu finden Sie in den Nutzungshinweisen zu GET_SERVICE_TYPE_USAGE.

Das Budgets-Feature ist bei Ihrem Konto nicht verfügbar

Fehler

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'.

Ursache

Ihr Konto unterstützt noch nicht das Budgets-Feature.

Lösung

Das Budgets-Feature ist für Konten in Regionen von Regierungsbehörden (Gov) nicht verfügbar. Unterstützung für Gov-Regionen wird in einem zukünftigen Release bereitgestellt.