Teilen über


sp_column_privileges_ex (Transact-SQL)

Gilt für: SQL Server

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

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' Ist der Name des verknüpften Servers, für den Informationen zurückgegeben werden sollen. table_server ist "sysname" ohne Standard.

[ @table_name = ] 'table_name' Ist der Name der Tabelle, die die angegebene Spalte enthält. table_name ist "sysname" mit dem Standardwert NULL.

[ @table_schema = ] 'table_schema' Ist das Tabellenschema. table_schema ist "sysname" mit dem Standardwert NULL.

[ @table_catalog = ] 'table_catalog' Ist der Name der Datenbank, in der sich die angegebene table_name befindet. table_catalog ist "sysname" mit dem Standardwert NULL.

[ @column_name = ] 'column_name' Ist der Name der Spalte, für die Berechtigungsinformationen bereitgestellt werden sollen. column_name ist "sysname" mit einem Standardwert von NULL (alle gängigen).

Resultsets

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

Spaltenname Datentyp Beschreibung
TABLE_CAT sysname Der Name des Tabellenqualifizierers. Verschiedene DBMS-Produkte unterstützen eine dreiteilige Benennung 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 bzw. der Datenbankbenutzerin dar, der/die 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 Spaltenname für jede Spalte des zurückgegebenen TABLE_NAME. Dieses Feld gibt immer einen Wert zurück.
GEBER sysname Datenbankbenutzername, der Berechtigungen für dieses COLUMN_NAME für die aufgelistete GRANTEE erteilt hat. In SQL Server ist diese Spalte immer mit dem TABLE_OWNER identisch. Dieses Feld gibt immer einen Wert zurück.

Die SPALTE GRANTOR kann entweder der Datenbankbesitzer (TABLE_OWNER) oder jemand sein, dem der Datenbankbesitzer Berechtigungen erteilt hat, indem er die WITH GRANT OPTION-Klausel in der GRANT-Anweisung verwendet.
EMPFÄNGER sysname Datenbankbenutzername, der Berechtigungen für dieses COLUMN_NAME durch den aufgeführten GRANTOR erteilt wurde. Dieses Feld gibt immer einen Wert zurück.
PRIVILEG 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 kann Daten für die Spalten abrufen.

INSERT = GRANTEE kann Daten für diese Spalte bereitstellen, wenn neue Zeilen (von GRANTEE) in die Tabelle eingefügt werden.

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

REFERENCES = GRANTEE kann auf eine Spalte in einer Fremdtabelle in einer Primärschlüssel-/Fremdschlüsselbeziehung verweisen. Primär-/Fremdschlüssel-Beziehungen werden über Tabelleneinschränkungen definiert.
IS_GRANTABLE varchar(3) Gibt an, ob der GRANTEE anderen Benutzern Berechtigungen erteilen darf (häufig als "Erteilen mit Erteilung" 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 AdventureWorks2022-Datenbank auf dem Verbindungsserver Seattle1 zurückgegeben.

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

Weitere Informationen

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