Generiert einen Bericht über Objektprivilegien, die einer angegebenen Rolle oder Benutzer-ID erteilt wurden, oder einen Bericht über Objektprivilegien, die für ein angegebenes Objekt oder einen angegebenen DBSpace erteilt wurden.
sp_objectpermission( object_name , object_owner , object_type )
object_name Der CHAR(128)-Name für ein Objekt, einen DBSpace, einen Benutzer oder eine Rolle. Wenn dieses Argument nicht angegeben wird, werden die Privilegien des aktuellen Benutzers angezeigt. Der Standardwert ist NULL.
object_owner Der CHAR(128)-Name des Objekteigentümers für den angegebenen Objektnamen. Die Objektprivilegien für das angegebene Objekt mit dem angegebenen Objekteigentümer werden angezeigt. Der Standardwert ist NULL.
object_type Der CHAR(20)-Typ des Datenbankobjekts. Wenn kein Wert angegeben wird, werden Privilegien für alle Objekttypen zurückgegeben. Der Standardwert ist NULL. Folgende Werte sind gültig:
Spaltenname | Datentyp | Beschreibung |
---|---|---|
grantor | CHAR(128) | Gibt die Benutzer-ID des Berechtigungsgebers zurück. |
grantee | CHAR(128) | Gibt die Benutzer-ID des Berechtigungsempfängers zurück. |
object_name | CHAR(128) | Gibt den Namen des Objekts zurück. |
owner | CHAR(128) | Gibt den Namen des Objekteigentümers zurück. |
object_type | CHAR(20) | Gibt den Typ des Objekts zurück. |
column_name | CHAR(128) | Gibt den Namen der Spalte zurück. |
permission | CHAR(20) | Gibt den Namen des Privilegs zurück. |
grantable | CHAR(1) | Gibt einen Wert zurück, der angibt, ob das Privileg erteilbar ist. |
Alle Argumente sind optional und können die folgenden Berichte generieren:
Wenn die Eingabe ein Objekt ist (Tabelle, Ansicht, Prozedur, Funktion, Sequenz usw.), zeigt die Prozedur eine Liste aller Benutzer und Rollen an, die unterschiedliche Objektprivilegien für das Objekt haben.
Wenn die Eingabe eine Rolle oder ein Benutzer ist, zeigt die Prozedur eine Liste aller Objektprivilegien an, die der Rolle bzw. dem Benutzer erteilt wurden.
Wenn die Eingabe ein DBSpace-Name ist, zeigt die Prozedur eine Liste aller Benutzer und Rollen an, die das CREATE-Privileg für den angegebenen DBSpace haben.
Wenn Sie sp_objectpermission ausführen, um Objektprivilegien für einen Benutzer oder eine Rolle anzuzeigen, werden die durch Rollenerteilungen geerbten Objektprivilegien ebenfalls angezeigt. Standardmäßig ist object_type NULL und die Objektprivilegien werden für alle vorhandenen Objekttypen angezeigt, die mit dem angegebenen Objektnamen übereinstimmen.
SQL/2008 Erweiterung des Herstellers.
Keine Privilegien sind erforderlich, um diese Prozedur für Sie selbst auszuführen oder für Objekte, deren Eigentümer Sie sind. Um diese Prozedur jedoch für eine andere Benutzer-ID oder für ein im Eigentum einer anderen Benutzer-ID stehendes Objekt aufrufen zu können, müssen Sie das MANAGE ANY OBJECT PRIVILEGE-Systemprivileg haben.
Um diese Prozedur für einen DBSpace ausführen zu können, müssen Sie das MANAGE ANY DBSPACE-Systemprivileg haben.
Keine
Die folgende Anweisung gibt die Privilegien auf Objektebene zurück, die der DIAGNOSTICS-Systemrolle erteilt wurden. In diesem Beispiel wurden die Ergebnisse gekürzt.
CALL sp_objectpermission( 'diagnostics' ); |
grantor | grantee | object_name | owner | object_type | column_name | permission | grantable |
---|---|---|---|---|---|---|---|
SYS | diagnostics | sa_tmp_diagnostic_optrewrite | dbo | TABLE | (NULL) | SELECT | N |
SYS | diagnostics | sa_tmp_diagnostic_optrewrite | dbo | TABLE | (NULL) | INSERT | N |
SYS | diagnostics | sa_tmp_diagnostic_optrewrite | dbo | TABLE | (NULL) | UPDATE | N |
SYS | diagnostics | sa_tmp_diagnostic_optrewrite | dbo | TABLE | (NULL) | DELETE | N |
SYS | diagnostics | sa_tmp_diagnostic_optorder | dbo | TABLE | (NULL) | SELECT | N |
SYS | diagnostics | sa_tmp_diagnostic_optorder | dbo | TABLE | (NULL) | INSERT | N |
SYS | diagnostics | sa_tmp_diagnostic_optorder | dbo | TABLE | (NULL) | UPDATE | N |
SYS | diagnostics | sa_tmp_diagnostic_optorder | dbo | TABLE | (NULL) | DELETE | N |
SYS | diagnostics | sa_tmp_diagnostic_optquantifier | dbo | TABLE | (NULL) | SELECT | N |
SYS | diagnostics | sa_tmp_diagnostic_optquantifier | dbo | TABLE | (NULL) | UPDATE | N |
... | ... | ... | ... | ... | ... | ... | ... |
Die Ergebnisse zeigen, dass es viele Tabellen gibt, für die die DIAGNOSTICS-Systemrolle Berechtigungen auf Objektebene hat. Dieses Ergebnis ist sinnvoll, weil die Tabellen zum Speichern von Diagnosedaten für Diagnoseprotokollierung und Anwendungsprofilerstellung verwendet werden.
Die folgende Anweisung gibt die Privilegien auf Objektebene zurück, die dem Benutzer ml_server erteilt wurden.
CALL sp_objectpermission( 'ml_server' ); |
Die folgende Anweisung gibt die Privilegien auf Objektebene für den System-DBSpace zurück.
CALL sp_objectpermission( object_name='system', object_type='DBSPACE' ); |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |