Befehle GRANT und REVOKE: Änderungen an der Ausgabe für eine fehlgeschlagene Berechtigungszuweisungen

Achtung

Diese Verhaltensänderung ist in Bundle 2023_05 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Das Verhalten dieser Befehle ist wie folgt:

Bisher:

Wenn Sie einen dieser Befehle ausführen und die Operation für eine oder mehrere Berechtigungen oder Rollen, die Sie im Befehl angeben, nicht funktioniert, formatiert Snowflake die Antwort als „erfolgreiche Statusmeldung“ (d. h. Tabelle) und gibt die entsprechenden Informationen an. Beispiel:

GRANT ALL ON ACCOUNT TO ROLE r1;
Copy
+--------------------------------------------------------------------------------------------------------------------------+
| status                                                                                                                   |
|--------------------------------------------------------------------------------------------------------------------------|
| Grant partially executed: privileges [MANAGE LISTING AUTO FULFILLMENT, MANAGE ORGANIZATION SUPPORT CASES] not granted.   |
+--------------------------------------------------------------------------------------------------------------------------+

Die folgende Ausgabe ist ein repräsentatives Beispiel für eine von vielen möglichen Meldungen, die Sie bei Ausführen dieser Befehle erhalten.

Jetzt:

Wenn Sie einen dieser Befehle ausführen und die Operation für eine oder mehrere Berechtigungen oder Rollen, die Sie im Befehl angeben, nicht funktioniert, formatiert Snowflake die Antwort als Fehlermeldung mit einem Fehlercode, und gibt die entsprechenden Informationen an. Beispiel:

003011 (42501): Grant partially executed: privileges [MANAGE LISTING AUTO FULFILLMENT, MANAGE ORGANIZATION SUPPORT CASES] not granted.

Der eigentliche Meldungstext ändert sich nicht.

Tipp

Wenn Sie Workflows haben, die vom Ergebnis eines dieser Befehle abhängen, aktualisieren Sie Ihre Skripte, um die Fehlercode-Information zu analysieren, die in diesem Beispiel 003011 (42501) ist.

Folgende Fehlercodes sind von dieser Änderung betroffen:

003011: Grant partially executed: [ one or more privileges ] not granted.
003012: Revoke partially executed: [ one or more privileges ] not revoked.
003102: Grant not executed: Insufficient privileges.
003103: Revoke not executed: Insufficient privileges.
003104: Grant not executed: Operation not supported on a SHARE object.
003105: Revoke not executed: Operation not supported on a SHARE object.
Copy

Der Wert (42501) im Beispiel spiegelt den SQL-Client wider, den der Benutzer zum Ausführen des Befehls gewählt hat. In diesem Beispiel ist das Snowflake-Konnektor für Python. Dieser Wert wird möglicherweise nicht angezeigt, je nachdem, wie Sie den Befehl ausführen (z. B. Snowsight gibt diesen Wert oder den Fehlercodewert 003011 nicht zurück).

Der Wert [ one or more privileges ] ist ein Platzhalter, um Informationen zu der Anweisung zurückzugeben, die den Fehler verursacht hat. Im Beispiel zeigt dieser Platzhalter an, dass die Berechtigung REFERENCE_USAGE nicht erteilt wurde.

Ref.: 515