Ein Benutzer mit DBA-Berechtigung oder der Eigentümer der Prozedur kann die Berechtigung zum Ausführen von gespeicherten Prozeduren erteilen. Die EXECUTE-Berechtigung ist die einzige Berechtigung, die für eine Prozedur erteilt werden kann.
Berechtigungen zum Ausführen einer Prozedur werden auf ähnliche Weise erteilt wie Berechtigungen für Tabellen und Ansichten. Jedoch trifft die Klausel WITH GRANT OPTION der GRANT-Anweisung nicht auf die Erteilung von Berechtigungen für Prozeduren zu.
Sie können Berechtigungen entweder mit Sybase Central oder mit Interactive SQL festlegen.
Verbinden Sie sich als Benutzer mit DBA-Berechtigung mit der Datenbank.
Klicken Sie auf Prozeduren und Funktionen.
Rechtsklicken Sie auf eine Prozedur und wählen Sie Eigenschaften.
Klicken Sie auf das Register Berechtigungen.
Konfigurieren Sie die Berechtigungen für die Prozedur:
Klicken Sie auf Erteilen.
Doppelklicken Sie auf einen Benutzer oder eine Gruppe.
Um Berechtigung zum Ausführen einer Prozedur zu erteilen oder zu entziehen, wählen Sie einen Benutzer oder eine Gruppe aus und klicken Sie auf die Spalte Ausführen. Ein Häkchen zeigt den Benutzer oder die Gruppe an, die die Prozedur ausführen kann.
Um alle Berechtigungen zu entziehen, wählen Sie einen Benutzer oder eine Gruppe aus und klicken Sie auf Entziehen.
Klicken Sie auf Übernehmen.
Sie können Berechtigungen auch im Fenster Benutzereigenschaften bzw. Gruppeneigenschaften zuordnen. Verwenden Sie das Fenster Prozedureigenschaften, um Berechtigungen mehreren Benutzern oder Gruppen zuzuordnen. Verwenden Sie das Fenster Benutzereigenschaften oder Gruppeneigenschaften, um Berechtigungen mehreren Prozeduren zuzuordnen.
Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als der Eigentümer der Prozedur mit der Datenbank.
Führen Sie die Anweisung GRANT EXECUTE ON aus.
Sie können M_Haneef die Berechtigung zum Ausführen eine Prozedur mit der Bezeichnung my_procedure wie folgt erteilen:
Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als Eigentümer der Prozedur my_procedure mit der Datenbank.
Führen Sie folgende SQL-Anweisung aus:
GRANT EXECUTE ON my_procedure TO M_Haneef; |
Prozeduren werden mit den Berechtigungen ihrer Eigentümer ausgeführt. Jede Prozedur, die Daten in einer Tabelle aktualisiert, wird nur dann erfolgreich ausgeführt, wenn der Eigentümer der Prozedur über UPDATE-Berechtigungen für die Tabelle verfügt.
Sofern der Eigentümer der Prozedur über die geeigneten Berechtigungen verfügt, wird die Prozedur erfolgreich ausgeführt, wenn sie von einem Benutzer aufgerufen wird, dem die Berechtigung zum Ausführen erteilt wurde. Dies ist unabhängig davon, ob er Berechtigungen für die untergeordneten Tabellen hat. Er kann Prozeduren dafür einsetzen, den Benutzern Berechtigungen zur Ausführung klar definierter Aktivitäten zu erteilen, ohne dass sie über spezielle Berechtigungen für die Tabelle verfügen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |