In Datenbanken vor Version 16.0 wurden Systemprozeduren, die mit Privilegien verbundene Vorgänge ausführen, standardmäßig mit den Privilegien des Eigentümers, in der Regel dbo oder SYS, ausgeführt und die SQL SECURITY-Klausel in den Prozedurdefinitionen war auf DEFINER (den Eigentümer) gesetzt.
In Version 16.0 ist die SQL SECURITY-Klausel für diese Systemprozeduren standardmäßig auf INVOKER gesetzt. Das bedeutet, dass die mit Privilegien verbundenen Vorgänge mit den Privilegien des Aufrufers ausgeführt werden statt mit denjenigen des Definierers.
Nun können Sie beim Erstellen bzw. beim Upgrade einer Datenbank festlegen, ob Systemprozeduren, die mit Privilegien verbundene Vorgänge ausführen, mit den Privilegien des Eigentümers oder des Aufrufers ausgeführt werden. Die CREATE DATABASE-Anweisung, die ALTER DATABASE UPGRADE-Anweisung, das Dienstprogramm Initialisierung (dbinit), und das Dienstprogramm zum Upgrade (dbupgrad) wurden um diese Wahlmöglichkeit erweitert.
Wenn bei einer neuen Datenbank keine Angabe gemacht wurde, wird der Aufrufer für diese Systemprozeduren ausgewählt. Wenn bei einem Upgrade keine Angabe gemacht wurde, wird standardmäßig die bereits vorhandene Einstellung für die betreffende Datenbank übernommen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |