Datenbankadministratoren können weitere Datenbankbenutzer anlegen und Privilegien vergeben.
Sie benötigen die Demo-Daten für das SQL-Tutorial.
Starten Sie das Query Tool SQL Studio als Datenbankadministrator MONA mit dem Kennwort RED und melden Sie sich an die Demo-Datenbankinstanz DEMODB an.
Verwenden Sie die CREATE USER-Anweisung für das Anlegen weiterer Datenbankbenutzer.
CREATE USER david PASSWORD blue RESOURCE
Der Datenbankadministrator MONA hat den Datenbankbenutzer DAVID mit dem Kennwort BLUE erzeugt. Für diesen Datenbankbenutzer wurde die Datenbankbenutzerklasse RESOURCE festgelegt.
CREATE USER boris PASSWORD pink STANDARD
Der Datenbankadministrator MONA hat den Datenbankbenutzer BORIS mit dem Kennwort PINK erzeugt. Für diesen Datenbankbenutzer wurde die Datenbankbenutzerklasse STANDARD festgelegt.
Siehe auch:
SQL-Referenzhandbuch, CREATE USER-Anweisung
(create_user_statement)
Verwenden Sie die ALTER USER-Anweisung für das Ändern der Datenbankbenutzerklasse.
ALTER USER boris RESOURCE
Für den Datenbankbenutzer BORIS wird die Datenbankbenutzerklasse RESOURCE festgelegt.
Siehe auch:
SQL-Referenzhandbuch, ALTER USER-Anweisung
(alter_user_statement)
Verwenden Sie die ALTER PASSWORD-Anweisung, um das Kennwort eines Datenbankbenutzers zu ändern.
●
Melden Sie sich als
Datenbanksystemadministrator (Vorschlagswerte: DBADMIN/SECRET) an.
ALTER PASSWORD boris red
Das Kennwort des Datenbankbenutzer BORIS wird in
RED verändert.
Sie können auch folgende Möglichkeit der ALTER PASSWORD-Anweisung verwenden:
●
Melden Sie sich als Datenbankbenutzer
BORIS (BORIS/RED) an.
ALTER PASSWORD red TO pink
Das Kennwort des Datenbankbenutzer BORIS wird in
PINK verändert.
Siehe auch:
SQL-Referenzhandbuch, ALTER
PASSWORD-Anweisung (alter_password_statement)
Eröffnen Sie eine Datenbanksitzung für den Datenbankadministrator MONA und verwenden Sie die GRANT-Anweisung für die Vergabe von Privilegien.
GRANT SELECT, UPDATE, DELETE, INSERT ON hotel.customer TO david
Der Datenbankadministrator MONA verwaltet die Kundentabelle im Schema HOTEL. Er entscheidet, dass der RESOURCE-Benutzer DAVID das Recht besitzen soll, die Kundendaten zu pflegen, jedoch keine Änderung an der Struktur der Tabelle vornehmen kann.
GRANT SELECT ON hotel.customer TO PUBLIC
Alle im System befindlichen Datenbankbenutzer sollen die Möglichkeit besitzen, lesend auf die Daten der Kundentabelle zuzugreifen. Die Privilegienvergabe für alle Datenbankbenutzer kann mit Hilfe des Schlüsselwortes PUBLIC erfolgen.
Überprüfen Sie die Vergabe der Privilegien z.B. anhand der Informationen in der Systemtabelle TABLEPRIVILEGES. Melden Sie sich dazu als Benutzer DAVID an die Datenbankinstanz DEMODB an.
SELECT * FROM
DOMAIN.TABLEPRIVILEGES
WHERE schemaname = 'HOTEL'
AND tablename = 'CUSTOMER'
Ergebnis
SCHEMANAME |
OWNER |
TABLENAME |
GRANTOR |
GRANTEE |
PRIVILEGE |
IS_GRANTABLE |
HOTEL |
MONA |
CUSTOMER |
MONA |
DAVID |
SELECT |
NO |
HOTEL |
MONA |
CUSTOMER |
MONA |
DAVID |
UPDATE |
NO |
HOTEL |
MONA |
CUSTOMER |
MONA |
DAVID |
INSERT |
NO |
HOTEL |
MONA |
CUSTOMER |
MONA |
DAVID |
DELETE |
NO |
HOTEL |
MONA |
CUSTOMER |
MONA |
PUBLIC |
SELECT |
NO |
Siehe auch:
SQL-Referenzhandbuch, GRANT-Anweisung
(grant_statement)
Systemtabellen
auswerten, TABLEPRIVILEGES
Eröffnen Sie eine Datenbanksitzung für den Datenbankadministrator MONA und verwenden Sie die REVOKE-Anweisung für das Entziehen von Privilegien.
REVOKE DELETE ON customer FROM david
Der RESOURCE-Benutzer DAVID soll Zeilen der Kundentabelle nicht löschen dürfen.
Siehe auch:
SQL-Referenzhandbuch, REVOKE-Anweisung
(revoke_statement)
Verwenden Sie die DROP USER-Anweisung, um Datenbankbenutzer zu löschen.
DROP USER boris
Wenn keine CASCADE-Option oder die Option CASCADE angegeben wird, werden zusammen mit dem Datenbankbenutzer alle Synonyme und Tabellen des zu löschenden Benutzers, sowie alle darauf basierenden Indizes, Privilegien, View-Tabellen usw. gelöscht.
Siehe auch:
SQL-Referenzhandbuch, DROP USER-Anweisung
(drop_user_statement)
Weitere Beispiele zur Autorisierung