FirebirdSQL logo

DDL Privileges

Standardmäßig können nur Administratoren neue Metadatenobjekte erstellen;Das Ändern oder Löschen dieser Objekte ist auf den Eigentümer des Objekts (seinen Ersteller) und Administratoren beschränkt.DDL-Berechtigungen können verwendet werden, um anderen Benutzern Berechtigungen für diese Vorgänge zu erteilen.

Verfügbare DDL-Berechtigungen
CREATE

Ermöglicht die Erstellung eines Objekts des angegebenen Typs

ALTER ANY

Ermöglicht die Änderung jedes Objekts des angegebenen Typs

DROP ANY

Ermöglicht das Löschen jedes Objekts des angegebenen Typs

ALL [PRIVILEGES]

Kombiniert die Berechtigungen CREATE, ALTER ANY und DROP ANY für den angegebenen Typ

Note

Es gibt keine separaten DDL-Berechtigungen für Trigger und Indizes.Die erforderlichen Berechtigungen werden von der Tabelle oder Sicht geerbt.Das Erstellen, Ändern oder Löschen eines Triggers oder Index erfordert das Privileg ALTER ANY TABLE oder ALTER ANY VIEW.

Beispiele für die Gewährung von DDL-Berechtigungen

  1. Erlaube dem Benutzer JOE, Tabellen zu erstellen

    GRANT CREATE TABLE
      TO USER Joe;
  2. Erlaube dem Benutzer JOE, jede Prozedur zu ändern

    GRANT ALTER ANY PROCEDURE
      TO USER Joe;

docnext count = 2

Datenbank-DDL-Berechtigungen

Die Syntax für die Vergabe von Berechtigungen zum Erstellen, Ändern oder Löschen einer Datenbank weicht von der normalen Syntax für die Vergabe von DDL-Berechtigungen für andere Objekttypen ab.

Verfügbare Datenbank-DDL-Berechtigungen
CREATE

Ermöglicht die Erstellung einer Datenbank

ALTER

Ermöglicht die Änderung der aktuellen Datenbank

DROP

Ermöglicht das Löschen der aktuellen Datenbank

ALL [PRIVILEGES]

Kombiniert die Berechtigungen ALTER und DROP.ALL beinhaltet nicht das CREATE-Privileg.

Die Berechtigungen ALTER DATABASE und DROP DATABASE gelten nur für die aktuelle Datenbank, während die DDL-Berechtigungen ALTER ANY und DROP ANY für andere Objekttypen für alle Objekte des angegebenen Typs in der aktuellen Datenbank gelten.Die Berechtigung zum Ändern oder Löschen der aktuellen Datenbank kann nur von Administratoren erteilt werden.

Das Privileg CREATE DATABASE ist ein besonderes Privileg, da es in der Sicherheitsdatenbank gespeichert wird.Eine Liste von Benutzern mit dem Privileg CREATE DATABASE ist in der virtuellen Tabelle SEC$DB_CREATORS verfügbar.Nur Administratoren in der Sicherheitsdatenbank kann die Berechtigung zum Anlegen einer neuen Datenbank erteilen.

Note

SCHEMA ist derzeit ein Synonym für DATABASE;dies kann sich in einer zukünftigen Version ändern, daher empfehlen wir immer DATABASE zu verwenden

Beispiele für die Gewährung von Datenbank-DDL-Berechtigungen

  1. Gewähren von SUPERUSER die Berechtigung zum Erstellen von Datenbanken:

    GRANT CREATE DATABASE
      TO USER Superuser;
  2. Gewähren Sie JOE das Recht, ALTER DATABASE für die aktuelle Datenbank auszuführen:

    GRANT ALTER DATABASE
      TO USER Joe;
  3. Gewähren Sie FEDOR das Recht, die aktuelle Datenbank zu löschen:

    GRANT DROP DATABASE
      TO USER Fedor;