Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (E-O)

 

GRANT-Anweisung

Verwenden Sie diese Anweisung, um neue Benutzer-IDs zu erstellen, Benutzerberechtigungen zu erteilen oder zu ändern, und um Kennwörter zu erstellen oder zu ändern.

Sie können Berechtigungen für deaktivierte Objekte erteilen. Berechtigungen für deaktivierte Objekte werden in der Datenbank gespeichert und wirksam, wenn das Objekt aktiviert wird.

Syntax 1 - Datenbankberechtigungen erteilen
GRANT Datenbankberechtigung, ... 
 TO Benutzer-ID, ...
Datenbankberechtigung :  
BACKUP 
| DBA
| PROFILE 
| READCLIENTFILE 
| READFILE
| [ RESOURCE | ALL ]
| VALIDATE
| WRITECLIENTFILE
Syntax 2 - Gruppenstatus oder Mitgliedschaft in einer Gruppe erteilen
GRANT { GROUP | MEMBERSHIP IN GROUP Benutzer-ID, ... }
 TO Benutzer-ID, ...
Syntax 3 - Datenbankobjektberechtigungen erteilen
GRANT Berechtigung, ...
 ON [ Eigentümer.]Objektname
 TO Benutzer-ID, ...
[ WITH GRANT OPTION ]
[ FROM Benutzer-ID ]
Berechtigung : 
ALL [ PRIVILEGES ] 
| ALTER 
| DELETE 
| INSERT 
| REFERENCES [ ( Spaltenname, ... ) ] 
| SELECT [ ( Spaltenname, ... ) ] 
| UPDATE [ ( Spaltenname, ... ) ]
Syntax 4 - Ausführungsberechtigung erteilen
GRANT EXECUTE ON [ Eigentümer.]{ Prozedurname | Benutzerdefinierte_Funktion }
TO Benutzer-ID, ...
Syntax 5 - Integriertes Login erteilen
GRANT INTEGRATED LOGIN TO Benutzerprofilename, ... 
AS USER Benutzer-ID
Syntax 6 - Kerberos-Login erteilen
GRANT KERBEROS LOGIN TO Client-Kerberos-Prinzipal, ... 
AS USER Benutzer-ID
Syntax 7 - Verbindungsberechtigungen erteilen
GRANT CONNECT TO Benutzer-ID, ...
[ AT Start-ID ]
[ IDENTIFIED BY Kennwort, ... ]
Syntax 8 - Erstellungsberechtigung für DBSpace erteilen
GRANT CREATE ON DBSpace-Name 
TO Benutzer-ID, ...
Parameter
  • AT Start-ID-Klausel   Diese Klausel ist nicht für den allgemeinen Gebrauch bestimmt. Die Klausel gibt den internen nummerischen Wert an, der für die erste Benutzer-ID in der Liste verwendet werden soll.

    Die AT-Start-ID-Klausel wird vom Unload-Dienstprogramm verwendet.

  • GRANT Datenbankberechtigung-Klausel   Verwenden Sie diese Klausel, um eine der nachstehend aufgelisteten Datenbankberechtigungen zu erteilen:

    • BACKUP-Datenbankberechtigung   Damit wird dem Benutzer die Berechtigung erteilt, die Datenbank zu sichern. Weitere Hinweise finden Sie unter BACKUP-Berechtigung.

    • DBA-Berechtigung   Damit erhält der Benutzer die Berechtigung, alle Aufgaben durchzuführen. Im Allgemeinen ist sie für die Person der Organisation reserviert, die die Datenbank betreut. Weitere Hinweise finden Sie unter DBA-Berechtigung.

    • PROFILE-Datenbankberechtigung   Damit erhält der Benutzer die Berechtigung, Profilerstellungs- und Diagnosevorgänge auszuführen. Weitere Hinweise finden Sie unter PROFILE-Datenbankberechtigung.

    • READCLIENTFILE-Datenbankberechtigung   Damit erhält der Benutzer die Berechtigung, aus einer Datei auf dem Clientcomputer zu lesen, zum Beispiel beim Laden von Daten. Weitere Hinweise finden Sie unter READCLIENTFILE-Datenbankberechtigung.

    • READFILE-Datenbankberechtigung   Damit erhält der Benutzer die Berechtigung, eine SELECT-Anweisung unter Verwendung der OPENSTRING-Klausel mit einer Datei auszuführen. Weitere Hinweise finden Sie unter READFILE-Datenbankberechtigung.

    • RESOURCE- oder ALL-Datenbankberechtigung   Damit erhält der Benutzer die Berechtigung, Tabellen und Ansichten zu erstellen. ALL ist gleichbedeutend mit RESOURCE und daher mit Adaptive Server Enterprise von Sybase kompatibel. Weitere Hinweise finden Sie unter RESOURCE-Datenbankberechtigung.

    • VALIDATE-Datenbankberechtigung   Damit erhält der Benutzer die Berechtigung, die Validierungsvorgänge auszuführen, die von den verschiedenen VALIDATE-Anweisungen unterstützt werden, wie Datenbank validieren, Tabellen und Indizes validieren und Prüfsummen validieren. Überdies ermöglicht sie es dem Benutzer, das Validierungsdienstprogramm (dbvalid) und den Assistenten zur Validierung der Datenbank in Sybase Central zu verwenden. Weitere Hinweise finden Sie unter VALIDATE-Berechtigung.

    • WRITECLIENTFILE-Datenbankberechtigung   Damit erhält der Benutzer die Berechtigung, in eine Datei auf dem Clientcomputer zu schreiben, zum Beispiel beim Entladen von Daten. Weitere Hinweise finden Sie unter WRITECLIENTFILE-Datenbankberechtigung.

  • GROUP-Klausel   Diese Berechtigung erteilt dem Benutzer oder den Benutzern das Recht, Mitglieder zu haben. Weitere Hinweise finden Sie unter Gruppen verwalten.

  • MEMBERSHIP IN GROUP-Klausel   Mit dieser Berechtigung wird einem Benutzer die Mitgliedschaft in einer Gruppe zugewiesen. Der Benutzer erbt alle erbbaren Berechtigungen und Datenbankberechtigungen, die für die Gruppe erteilt wurden. Weitere Hinweise finden Sie unter Gruppen verwalten.

  • GRANT Berechtigung-Klausel   Mit der Klausel GRANT Berechtigung können Sie Berechtigungen für einzelne Tabellen oder Ansichten erteilen. Die Tabellenberechtigungen können einzeln angegeben werden, oder Sie können ALL verwenden, um alle Berechtigungen gleichzeitig zu erteilen. Nachstehend finden Sie eine Liste der erteilbaren Berechtigungen:

    • ALL-Berechtigung   Damit werden die ALTER-, DELETE-, INSERT-, REFERENCES-, SELECT- und UPDATE-Berechtigungen erteilt. ALL ist ein Synonym für RESOURCE.

    • ALTER-Berechtigung   Mit dieser Berechtigung kann der Benutzer die benannte Tabelle mit der ALTER TABLE-Anweisung ändern. Diese Berechtigung gilt nicht für Ansichten.

    • DELETE-Berechtigung   Mit dieser Berechtigung kann der Benutzer Zeilen aus der benannten Tabelle oder Ansicht löschen.

    • INSERT-Berechtigung   Mit dieser Berechtigung kann der Benutzer Zeilen in die benannte Tabelle oder Ansicht einfügen.

    • REFERENCES-Berechtigung   Damit kann der Benutzer Indizes für die benannte Tabelle und Fremdschlüssel erstellen, die die benannten Tabellen referenzieren. Wenn Spaltennamen angegeben sind, kann der Benutzer nur diese Spalten referenzieren. REFERENCES-Berechtigungen für Spalten können lediglich für Tabellen und nicht für Ansichten erteilt werden. INDEX ist ein Synonym für REFERENCES.

    • SELECT-Berechtigung   Damit kann der Benutzer Informationen in einer Ansicht oder Tabelle anzeigen. Wenn Spaltennamen angegeben sind, können die Benutzer lediglich diese Spalten ansehen. SELECT-Berechtigungen für Spalten können nur für Tabellen und nicht für Ansichten erteilt werden.

    • UPDATE-Berechtigung   Damit kann der Benutzer Informationen in einer Ansicht oder Tabelle aktualisieren. Wenn Spaltennamen angegeben sind, kann der Benutzer nur diese Spalten aktualisieren.

  • FROM-Klausel   Wenn FROM Benutzer-ID angegeben ist, wird die Benutzer-ID als die Benutzer-ID des Berechtigungsverleihers in den Systemtabellen registriert. Dieses Klausel ist für das Entlade-Dienstprogramm (dbunload) vorgesehen. Verändern oder verwenden Sie diese Option nicht direkt.

  • CONNECT TO-Klausel  

    Hinweis

    Es wird empfohlen, die CREATE-Anweisung zu verwenden, um Benutzer zu erstellen. Weitere Hinweise finden Sie unter CREATE USER-Anweisung.

    Erstellt einen neuen Benutzer. GRANT CONNECT kann außerdem jeder Benutzer verwenden, um sein eigenes Kennwort zu ändern. Um einen Benutzer mit einer leeren Zeichenfolge als Kennwort zu erstellen, verwenden Sie folgende Angaben:

    GRANT CONNECT TO Benutzer-ID IDENTIFIED BY "";

    Um einen Benutzer ohne Kennwort zu erstellen, verwenden Sie folgende Angaben:

    GRANT CONNECT TO Benutzer-ID;
    Ein Benutzer ohne Kennwort kann keine Verbindung zur Datenbank herstellen. Das ist sinnvoll, wenn Sie eine Gruppe erstellen und nicht möchten, dass jemand mit der Benutzer-ID der Gruppe eine Verbindung zur Datenbank herstellt. Eine Benutzer-ID muss ein gültiger Bezeichner sein.

    Benutzer-IDs und Kennwörter dürfen Folgendes nicht:

    • Mit Leerstellen, Apostrophen oder Anführungszeichen beginnen.
    • Mit Leerstellen enden.
    • Semikola enthalten.
    Ein Kennwort kann entweder ein gültiger Bezeichner sein oder eine Zeichenfolge (maximal 255 Byte) in Apostrophen. Hinweise zur Angabe eines gültigen Kennworts finden Sie unter Kennwort einrichten.

    Mit der Option verify_password_function können Sie eine Funktion zum Implementieren von Kennwortregeln angeben (z.B., dass Kennwörter mindestens eine Ziffer enthalten müssen). Wenn eine Funktion zur Kennwortüberprüfung verwendet wird, können Sie nicht mehr als eine Benutzer-ID mit Kennwort in der GRANT CONNECT-Anweisung angeben. Weitere Hinweise finden Sie unter verify_password_function-Option [Datenbank].

  • CREATE ON-Klausel   Damit kann der Benutzer Datenbankobjekte im angegebenen DBSpace erstellen. Die CREATE-Berechtigung kann über Gruppenmitgliedschaft vererbt werden. Bevor ein Benutzer Objekte erstellen kann, muss er auch RESOURCE-Datenbankberechtigung erhalten. Weitere Hinweise finden Sie unter RESOURCE-Datenbankberechtigung.

Bemerkungen

Die GRANT-Anweisung wird benutzt, um Datenbankberechtigungen und Berechtigungen an bestimmte Benutzer-IDs und Gruppen zu erteilen. Sie wird außerdem verwendet, um Benutzer und Gruppen zu erstellen.

Wenn WITH GRANT OPTION angegeben ist, erhält die benannte Benutzer-ID auch die Berechtigung, dieselben Berechtigungen an andere Benutzer-IDs weiterzugeben. Mitglieder von Gruppen erben nicht WITH GRANT OPTION, wenn dies einer Gruppe erteilt wird.

Syntax 4 der GRANT-Anweisung wird verwendet, um die Berechtigung zum Ausführen einer Prozedur zu erteilen.

Syntax 5 der GRANT-Anweisung erstellt eine explizite Zuordnung des integrierten Logins zwischen einem oder mehreren Windows-Benutzer- bzw. Gruppenprofilen und einer bestehenden Datenbankbenutzer-ID. Diese ermöglicht es Benutzern, die sich am lokalen Computer angemeldet haben, eine Verbindung mit einer Datenbank herzustellen, ohne eine Benutzer-ID oder ein Kennwort eingeben zu müssen. Der Benutzerprofilname kann die Form Domäne\Benutzername haben. Die Datenbankbenutzer-ID, der das integrierte Login zugeordnet ist, muss ein Kennwort haben. Weitere Hinweise finden Sie unter Integrierte Logins verwenden.

Syntax 6 der GRANT-Anweisung erstellt eine Kerberos-authentifizierte Login-Zuordnung von einem oder mehreren Kerberos-Prinzipal(en) zu einer bestehenden Datenbankbenutzer-ID. Damit können Benutzer, die sich bei Kerberos angemeldet haben (Benutzer, die in Kerberos über ein gültiges Ticket-erteilendes Ticket verfügen), eine Verbindung zu einer Datenbank herstellen, ohne eine Benutzer-ID oder ein Kennwort angeben zu müssen. Die Datenbankbenutzer-ID, der das Kerberos-Login zugeordnet ist, muss ein Kennwort haben. Der Client_Kerberos_Prinzipal muss das Format Benutzer/Instanz@REALM haben, wobei /Instanz optional ist. Der vollständige Prinzipal muss einschließlich des Realms angegeben werden, und Prinzipale, die sich nur in Instanz oder Realm unterscheiden, werden unterschiedlich behandelt.

Bei Prinzipalen wird die Groß-/Kleinschreibung berücksichtigt, d.h., sie müssen in der korrekten Schreibweise angegeben werden. Zuordnungen für mehrere Prinzipale, die sich nur in der Groß- und Kleinschreibung unterscheiden, werden nicht unterstützt (z.B. können Sie keine Zuordnungen für jjordan@MYREALM.COM und JJordan@MYREALM.COM erhalten).

Wenn es keine explizite Zuordnung für einen Kerberos-Prinzipal gibt und die Guest-Datenbankbenutzer-ID existiert und ein Kennwort hat, dann stellt der Kerberos-Prinzipal die Verbindung her, indem er die Guest-Datenbankbenutzer-ID verwendet (dieselbe Guest-Datenbankbenutzer-ID wie bei integrierten Logins).

Weitere Hinweise zur Kerberos-Authentifizierung finden Sie unter Kerberos-Authentifizierung.

Berechtigungen

Syntax 3   Wenn die FROM-Klausel angegeben ist, brauchen Sie die DBA-Berechtigung. Ansonsten müssen Sie entweder Eigentümer der Tabelle sein oder Berechtigungen für die Tabelle mit WITH GRANT OPTION erhalten haben.

Syntax 4   Sie müssen entweder Eigentümer der Prozedur sein oder DBA-Berechtigungen haben.

Syntax 5 und 6   Sie müssen DBA-Berechtigungen haben.

Syntax 7   Sie müssen entweder Ihr eigenes Kennwort mit GRANT CONNECT ändern oder DBA-Berechtigungen haben. Wenn Sie das Kennwort eines anderen Benutzers ändern (mit DBA-Berechtigung), darf der andere Benutzer nicht mit der Datenbank verbunden sein.

Nebenwirkungen

Automatisches Festschreiben (Autocommit).

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Syntax 3 ist eine Kernfunktion. Syntax 4 ist eine Persistent-Stored-Module-Funktion. Weitere Syntaxelemente sind eigene Erweiterungen.

Beispiel

Erstellen Sie eine neue Datenbank.

GRANT CONNECT TO SQLTester
IDENTIFIED BY welcome

Erteilen Sie dem Benutzer 'Laurel' Berechtigungen für die Tabelle 'Employees'.

GRANT
SELECT, UPDATE ( Street )
ON Employees
TO Laurel;

In einer einzigen Anweisung können mehrere Berechtigungen erteilt werden. Trennen Sie die Berechtigungen mit Kommas.

Ermöglichen Sie dem Benutzer 'Hardy' das Ausführen der Prozedur 'Calculate_Report'.

GRANT EXECUTE ON Calculate_Report
TO Hardy;