DROP ROLE¶
Entfernt die angegebene Rolle aus dem System.
- Siehe auch:
Syntax¶
Parameter¶
nameGibt den Bezeichner für die zu entfernende Rolle an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.
Nutzungshinweise¶
Gelöschte Rollen können nicht wiederhergestellt werden, sie müssen neu erstellt werden.
Die aktuelle primäre Rolle kann nicht gelöscht werden. Der Versuch, diese Rolle zu löschen, führt zu einem Fehler. Beispiel:
Weitere Informationen dazu finden Sie unter Aktive Rollen und Autorisierung durch Primärrolle und Sekundärrollen.
Eine Rolle kann nicht gelöscht werden, wenn sie die OWNERSHIP-Berechtigung für eine freigegebene Datenbank hat. Verwenden Sie zuerst den Befehl GRANT OWNERSHIP, um die OWNERSHIP-Berechtigung für die freigegebene Datenbank zu übertragen, und löschen Sie dann die Rolle.
Die Eigentümerschaft an allen Objekten, die der gelöschten Rolle gehören, wird auf die Rolle übertragen, die den Befehl DROP ROLE ausführt. Um die Eigentümerschaft an jedem dieser Objekte auf eine andere Rolle zu übertragen, verwenden Sie GRANT OWNERSHIP … COPY CURRENT GRANTS.
Alle aktuellen und zukünftigen Zuweisungen, bei denen die Rolle entweder als Berechtigungsgeber oder Berechtigungsempfänger benannt ist, werden beim Löschen der Rolle widerrufen.
Abfrage der Account Usage-Ansicht GRANTS_TO_ROLES, um die Berechtigungen abzurufen, bei denen eine bestimmte Rolle als Berechtigungsgeber oder Berechtigungsempfänger angegeben ist:
Im folgenden Beispiel werden die Berechtigungen abgerufen, bei denen
myroleder Berechtigungsgeber oder Berechtigungsempfänger ist:Wenn eine Rolle Berechtigungsgeber von Rollen an Benutzer ist, werden beim Löschen der Rolle die Berechtigungen automatisch wieder entzogen.
Das Widerrufen von Berechtigungen erfolgt während der Ausführung des Befehls DROP ROLE. Wenn Tausende oder Millionen von Zuweisungen widerrufen werden müssen, kann der Befehl DROP ROLE eine Zeitüberschreitung verursachen. Es ist sicher, den Befehl erneut auszuführen, um die Ausführung dort fortzusetzen, wo der vorherige Aufruf aufgehört hat.
Wenn die IF EXISTS-Klausel angegeben ist und das Zielobjekt nicht vorhanden ist, wird der Befehl erfolgreich abgeschlossen, ohne dass ein Fehler zurückgegeben wird.
You can drop a role that’s in use by an object inside a backup. Doing so might take a long time if there are backups. That’s because Snowflake rewrites the metadata for grants associated with the objects inside backups when a role is dropped.