Share via


sp_table_privileges_ex (Transact-SQL)

Gibt Privileginformationen zu der angegebenen Tabelle vom angegebenen Verbindungsserver zurück.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_table_privileges_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ]
     [ , [@fUsePattern =] 'fUsePattern']

Argumente

[ @table_server = ] 'table_server'

Der Name des Verbindungsservers, für den Informationen zurückgegeben werden sollen. table_server ist vom Datentyp sysname und hat keinen Standard.

[ @table_name = ] 'table_name']

Der Name der Tabelle, für die Tabellenprivileginformationen bereitgestellt werden sollen. table_name ist vom Datentyp sysname; der Standardwert ist NULL.

[ @table_schema = ] 'table_schema'

Das Tabellenschema. Dies ist in einigen DBMS-Umgebungen der Tabellenbesitzer. table_schema ist vom Datentyp sysname; der Standardwert ist NULL.

[ @table_catalog = ] 'table_catalog'

Der Name der Datenbank, in der sich table_name befindet. table_catalog ist vom Datentyp sysname; der Standardwert ist NULL.

[ @fUsePattern =] 'fUsePattern'

Bestimmt, ob die Zeichen '_', '%', '[', und ']' als Platzhalterzeichen interpretiert werden. Zulässige Werte sind 0 (Mustervergleich ist auf OFF festgelegt) und 1 (Mustervergleich ist auf ON festgelegt). fUsePattern ist vom Datentyp bit; der Standardwert ist 1.

Rückgabecodewerte

Keine

Resultsets

Spaltenname Datentyp Beschreibung

TABLE_CAT

sysname

Der Name des Qualifizierers der Tabelle. Verschiedene DBMS-Produkte unterstützen eine dreiteilige Namensgebung für Tabellen (qualifier.owner.name). In SQL Server stellt diese Spalte den Datenbanknamen dar. Bei anderen Produkten stellt sie den Servernamen der Datenbankumgebung für die Tabelle dar. Dieses Feld kann den Wert NULL annehmen.

TABLE_SCHEM

sysname

Der Name des Tabellenbesitzers. In SQL Server stellt diese Spalte den Namen des Datenbankbenutzers dar, der die Tabelle erstellt hat. Dieses Feld gibt immer einen Wert zurück.

TABLE_NAME

sysname

Tabellenname. Dieses Feld gibt immer einen Wert zurück.

GRANTOR

sysname

Der Datenbankbenutzername, der dem aufgelisteten GRANTEE Berechtigungen für TABLE_NAME erteilt hat. In SQL Server ist diese Spalte stets mit dem TABLE_OWNER identisch. Dieses Feld gibt immer einen Wert zurück. Zudem kann die GRANTOR-Spalte entweder der Datenbankbesitzer (TABLE_OWNER) oder ein Benutzer sein, dem der Datenbankbesitzer mithilfe der WITH GRANT OPTION-Klausel in der GRANT-Anweisung die Berechtigung erteilt hat.

GRANTEE

sysname

Datenbankbenutzername, der dem aufgelisteten GRANTOR Berechtigungen für TABLE_NAME erteilt hat. Dieses Feld gibt immer einen Wert zurück.

PRIVILEGE

varchar(32)

Eine der verfügbaren Tabellenberechtigungen. Tabellenberechtigungen können folgende Werte annehmen bzw. auch andere Werte, die von der Datenquelle bei der Definition der Implementierung unterstützt werden.

SELECT = GRANTEE kann Daten aus einer oder mehreren Spalten abrufen.

INSERT = GRANTEE kann in einer oder mehreren Spalten Daten für neue Zeilen bereitstellen.

UPDATE = GRANTEE kann vorhandene Daten in einer oder mehreren Spalten ändern.

DELETE = GRANTEE kann Zeilen aus der Tabelle entfernen.

REFERENCES = GRANTEE kann bei einer Primär-/Fremdschlüsselbeziehung auf eine Spalte in einer Fremdschlüsseltabelle verweisen. In SQL Server werden Primär-/Fremdschlüsselbeziehungen mithilfe von Tabelleneinschränkungen definiert.

Der dem GRANTEE durch ein bestimmtes Tabellenprivileg erteilte Aktionsbereich ist datenquellenabhängig. Beispielsweise kann der GRANTEE mit der UPDATE-Berechtigung alle Spalten in einer Tabelle für eine Datenquelle aktualisieren, während er für eine andere Datenquelle nur die Spalten aktualisieren kann, für die der GRANTOR die UPDATE-Berechtigung besitzt.

IS_GRANTABLE

varchar(3)

Gibt an, ob der GRANTEE anderen Benutzern Berechtigungen erteilen darf. Dies wird häufig als "Berechtigung mit Recht zum Erteilen" bezeichnet. Dieses Feld kann die Werte YES, NO oder NULL annehmen. Ein unbekannter Wert oder NULL-Wert verweist auf eine Datenquelle, für die die "Berechtigung mit Recht zum Erteilen" nicht anwendbar ist.

Hinweise

Die zurückgegebenen Ergebnisse sind nach den Spalten TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME und PRIVILEGE geordnet.

Berechtigungen

Erfordert die SELECT-Berechtigung auf dem Schema.

Beispiele

In diesem Beispiel werden die Privileginformationen zu Tabellen zurückgegeben, deren Namen in der AdventureWorks-Datenbank des angegebenen Verbindungsservers Seattle1 mit Contact beginnen. (SQL Server wird als der Verbindungsserver angenommen).

EXEC sp_table_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Contact%', 
   @table_schema = 'Person',
   @table_catalog ='AdventureWorks'

Siehe auch

Verweis

sp_column_privileges_ex (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)
Gespeicherte Prozeduren für verteilte Abfragen (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005