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 = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
Argumente
[ @table_server = ] N'table_server'
Der Name des verknüpften Servers, für den Informationen zurückgegeben werden sollen. @table_server ist "sysname" ohne Standard.
[ @table_name = ] N'table_name'
Der Name der Tabelle, die die angegebene Spalte enthält. @table_name ist "sysname" mit einem Standardwert von NULL
.
[ @table_schema = ] N'table_schema'
Das Tabellenschema. @table_schema ist "sysname" mit der Standardeinstellung "NULL
.
[ @table_catalog = ] N'table_catalog'
Der Name der Datenbank, in der sich die angegebene @table_name befindet. @table_catalog ist "sysname" mit einem Standardwert von NULL
.
[ @column_name = ] N'column_name'
Der Name der Spalte, für die Berechtigungsinformationen bereitgestellt werden sollen. @column_name ist "sysname" mit einem Standardwert von NULL
(alle gängigen).
Resultset
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
Spaltenname | Datentyp | Beschreibung |
---|---|---|
TABLE_CAT |
sysname | Der Name des Tabellenqualifizierers. Verschiedene DBMS-Produkte unterstützen die 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 sein NULL . |
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 | Spaltenname für jede Spalte der TABLE_NAME zurückgegebenen. Dieses Feld gibt immer einen Wert zurück. |
GRANTOR |
sysname | Datenbankbenutzername, der Berechtigungen für diese COLUMN_NAME Berechtigung für die aufgelistete .GRANTEE In SQL Server ist diese Spalte immer identisch mit der TABLE_OWNER . Dieses Feld gibt immer einen Wert zurück.Die GRANTOR Spalte 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. |
GRANTEE |
sysname | Name des Datenbankbenutzers, der berechtigungen dafür COLUMN_NAME durch die aufgelistete .GRANTOR 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 kann Daten für die Spalten abrufen.INSERT = GRANTEE kann Daten für diese Spalte bereitstellen, wenn neue Zeilen (vom 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 die GRANTEE Berechtigung für andere Benutzer gewährt werden darf (häufig als "Erteilen mit Erteilung" bezeichnet). Kann JA, NEIN oder NULL . Ein unbekannter wert NULL bezieht sich auf eine Datenquelle, in der "Grant with grant" nicht anwendbar ist. |
Berechtigungen
Erfordert die SELECT
-Berechtigung im 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';