Share via


sp_column_privileges_ex (Transact-SQL)

Gibt Spaltenprivileginformationen für die angegebene Tabelle auf dem angegebenen Verbindungsserver zurück.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_column_privileges_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ] 
     [ , [ @column_name = ] 'column_name' ]

Argumente

[ @table_server = ] 'table_server'

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

[ @table_name =] 'table_name'

Der Name der Tabelle, die die angegebene Spalte enthält. table_name ist vom sysname-Datentyp und hat den Standardwert NULL.

[ @table_schema = ] 'table_schema'

Das Tabellenschema. table_schema ist vom sysname-Datentyp und hat den Standardwert NULL.

[ @table_catalog = ] 'table_catalog'

Der Name der Datenbank, zu dem der angegebene table_name gehört. table_catalog ist vom sysname-Datentyp und hat den Standardwert NULL.

[ @column_name =] 'column_name'

Der Name der Spalte, für die Privileginformationen bereitgestellt werden sollen. column_name ist vom sysname-Datentyp und hat den Standardwert NULL (alle häufigen Spalten).

Resultsets

In der folgenden Tabelle sind die Resultsetspalten aufgeführt. Die zurückgegebenen Ergebnisse werden nach folgenden Spalten geordnet: TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME und PRIVILEGE.

Column name Datentyp Beschreibung

TABLE_CAT

sysname

Der Name des Qualifizierers der Tabelle. Verschiedene DBMS-Produkte unterstützen eine dreiteilige Namengebung für Tabellen (qualifier.owner.name). In SQL Server 2005 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.

COLUMN_NAME

sysname

Der Name der Spalte für jede Spalte des zurückgegebenen TABLE_NAME. Dieses Feld gibt immer einen Wert zurück.

GRANTOR

sysname

Der Datenbank-Benutzername, der dem aufgelisteten GRANTEE Berechtigungen für diesen COLUMN_NAME erteilt hat. In SQL Server ist diese Spalte stets mit TABLE_OWNER identisch. Dieses Feld gibt immer einen Wert zurück.

Die GRANTOR-Spalte kann entweder der Datenbankbesitzer (TABLE_OWNER) oder ein anderer Benutzer sein, dem die Berechtigungen vom Datenbankbesitzer mithilfe der WITH GRANT OPTION-Klausel in der GRANT-Anweisung erteilt wurden.

GRANTEE

sysname

Der Datenbank-Benutzername, dem vom aufgelisteten GRANTOR Berechtigungen für diesen COLUMN_NAME erteilt wurden. Dieses Feld gibt immer einen Wert zurück.

PRIVILEGE

varchar(32)

Eine der verfügbaren Spaltenberechtigungen. Spaltenberechtigungen können folgende Werte annehmen (oder auch andere Werte, die von der Datenquelle bei der Definition der Implementierung unterstützt werden):

SELECT = GRANTEE; der Berechtigte kann Daten für Spalten abrufen.

INSERT = GRANTEE; der Berechtigte kann Daten für diese Spalten bereitstellen, wenn neue Zeilen (von diesem Berechtigten) in die Tabelle eingefügt werden.

UPDATE = GRANTEE; der Berechtigte kann vorhandene Daten in der Spalte ändern.

REFERENCES = GRANTEE kann bei einer Primär-/Fremdschlüssel-Beziehung auf eine Spalte in einer Fremdschlüsseltabelle verweisen. Primär-/Fremdschlüssel-Beziehungen werden über Tabelleneinschränkungen definiert.

IS_GRANTABLE

varchar(3)

Zeigt an, ob der GRANTEE anderen Benutzern Berechtigungen erteilen darf (oft als "Berechtigung mit Recht zum Erteilen" bezeichnet). Dieses Feld kann die Werte YES, NO oder NULL annehmen. Ein unbekannter Wert oder NULL-Wert verweist darauf, dass für die entsprechende Datenquelle die "Berechtigung mit Recht zum Erteilen" nicht zutreffend ist.

Berechtigungen

Erfordert SELECT-Berechtigung für das Schema.

Beispiele

Im folgenden Beispiel werden Spaltenprivileginformationen für die HumanResources.Department-Tabelle in der AdventureWorks-Datenbank auf dem Verbindungsserver Seattle1 zurückgegeben.

EXEC sp_column_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Department', 
   @table_schema = 'HumanResources',
   @table_catalog ='AdventureWorks'

Siehe auch

Verweis

sp_table_privileges_ex (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005