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-Benutzerhandbuch » SQL-Dialekte und Kompatibilität » SQL-Dialekte » Adaptive Server Enterprise-Architekturen

 

Benutzer und Gruppen

Die Benutzer- und Gruppenmodelle von Adaptive Server Enterprise und SQL Anywhere sind unterschiedlich.

In Adaptive Server Enterprise stellen Benutzer eine Verbindung zu einem Datenbankserver her. Jeder Benutzer muss eine Login-ID und ein Kennwort für den Datenbankserver und eine Benutzer-ID für jede Datenbank auf dem Server haben, auf die er zugreifen will. Jeder Benutzer einer Datenbank kann nur bei einer Gruppe Mitglied sein.

In SQL Anywhere stellen die Benutzer die Verbindung direkt zur Datenbank her und brauchen keine separate Login-ID für den Datenbankserver. Stattdessen erhält jeder Benutzer eine Benutzer-ID und ein Kennwort für eine Datenbank, damit er diese Datenbank benutzen kann. Benutzer können Mitglieder mehrerer Gruppen sein, und Gruppen-Hierarchien sind zulässig.

Beide Server unterstützen Gruppen, sodass Sie mehreren Benutzern gleichzeitig Berechtigungen erteilen können. Es bestehen jedoch in beiden Servern Unterschiede in den Spezifikationen von Gruppen. In Adaptive Server Enterprise kann jeder Benutzer beispielsweise nur Mitglied einer einzigen Gruppe sein, während es in SQL Anywhere keine derartige Einschränkung gibt. Spezifische Informationen erhalten Sie, wenn Sie die Dokumentationen für Benutzer und Gruppen in den beiden Produkten vergleichen.

Sowohl Adaptive Server Enterprise als auch SQL Anywhere verfügen über eine public-Gruppe für die Definition von Standardberechtigungen. Jeder Benutzer ist automatisch Mitglied der Gruppe public.

SQL Anywhere unterstützt die folgenden Systemprozeduren von Adaptive Server Enterprise für die Verwaltung von Benutzern und Gruppen. Weitere Hinweise finden Sie unter System- und Katalogprozeduren von Adaptive Server Enterprise.

Systemprozedur Beschreibung
sp_addlogin Damit wird in Adaptive Server Enterprise dem Server ein Benutzer hinzugefügt. In SQL Anywhere wird einer Datenbank ein Benutzer hinzugefügt.
sp_adduser Damit wird sowohl in Adaptive Server Enterprise als auch in SQL Anywhere einer Datenbank ein Benutzer hinzugefügt. Während sich diese Prozedur in Adaptive Server Enterprise von "sp_addlogin" unterscheidet, sind sie in SQL Anywhere gleich.
sp_addgroup Fügt einer Datenbank eine Gruppe hinzu
sp_changegroup Fügt einer Gruppe einen Benutzer hinzu oder verschiebt einen Benutzer von einer Gruppe in eine andere
sp_droplogin Entfernt in Adaptive Server Enterprise einen Benutzer aus dem Server. Entfernt in SQL Anywhere einen Benutzer aus der Datenbank.
sp_dropuser Entfernt einen Benutzer aus der Datenbank
sp_dropgroup Entfernt eine Gruppe aus der Datenbank

In Adaptive Server Enterprise sind Login-IDs serverweit gültig. In SQL Anywhere gehören Benutzer zu einzelnen Datenbanken.

Datenbankobjekt-Berechtigungen

Die GRANT- und REVOKE-Anweisungen in Adaptive Server Enterprise und SQL Anywhere zur Erteilung von Berechtigungen für einzelne Datenbankobjekte sind sehr ähnlich. Beide lassen SELECT-, INSERT-, DELETE-, UPDATE- und REFERENCE-Berechtigungen für Datenbanktabellen und Ansichten sowie UPDATE-Berechtigungen für ausgewählte Spalten in Datenbanktabellen zu. Beide lassen die Erteilung von EXECUTE-Berechtigungen für gespeicherte Prozeduren zu.

Die folgende Anweisung ist beispielsweise sowohl in Adaptive Server Enterprise als auch in SQL Anywhere gültig:

GRANT INSERT, DELETE
ON Employees
TO MARY, SALES;

Diese Anweisung erteilt die Berechtigung, die INSERT- und DELETE-Anweisungen in der Tabelle "Employees" zu verwenden. Sie gilt für die Benutzerin MARY und die Gruppe SALES.

Sowohl SQL Anywhere als auch Adaptive Server Enterprise unterstützen die Klausel WITH GRANT OPTION, die es dem Empfänger der Berechtigungen ermöglicht, diese seinerseits zu erteilen, obwohl SQL Anywhere es nicht zulässt, dass WITH GRANT OPTION für eine GRANT EXECUTE-Anweisung verwendet wird. In SQL Anywhere können Sie WITH GRANT OPTION nur für Benutzer angeben. Mitglieder von Gruppen erben nicht WITH GRANT OPTION, wenn dies einer Gruppe erteilt wird.

Datenbankweite Berechtigungen

Adaptive Server Enterprise und SQL Anywhere verwenden verschiedene Modelle für datenbankweite Benutzerberechtigungen. SQL Anywhere verwendet DBA-Berechtigungen, um einem Benutzer die volle Berechtigung innerhalb einer Datenbank zu geben. Über diese Berechtigung freut sich der Systemadministrator in Adaptive Server Enterprise, weil sie für alle Datenbanken auf einem Server gilt. Die DBA-Berechtigung für eine Datenbank in SQL Anywhere unterscheidet sich jedoch von den Berechtigungen eines Datenbankeigentümers in Adaptive Server Enterprise, der die Adaptive Server Enterprise-Anweisung SETUSER verwenden muss, um Berechtigungen für Objekte zu erlangen, deren Eigentümer andere Benutzer sind. Weitere Hinweise finden Sie unter Benutzer und Gruppen.

SQL Anywhere verwendet RESSOURCE-Berechtigungen, um einem Benutzer das Recht zur Erstellung von Objekten in einer Datenbank zu erteilen. Eine dieser Funktion sehr nahe kommende Berechtigung in Adaptive Server Enterprise ist GRANT ALL, die von einem Datenbankeigentümer verwendet wird.