Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Gibt Informationen zu Spaltenprivilegien für eine einzelne Tabelle in der aktuellen Umgebung zurück.
Transact-SQL-Syntaxkonventionen
Syntax
sp_column_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
Argumente
[ @table_name = ] N'table_name'
Die Tabelle, die zum Zurückgeben von Kataloginformationen verwendet wird. @table_name ist "sysname" ohne Standard. Der Übereinstimmung von Wildcardmustern wird nicht unterstützt.
[ @table_owner = ] N'table_owner'
Der Besitzer der Tabelle, die zum Zurückgeben von Kataloginformationen verwendet wird. @table_owner ist "sysname" mit der Standardeinstellung "NULL
. Der Übereinstimmung von Wildcardmustern wird nicht unterstützt. Wenn @table_owner nicht angegeben ist, gelten die Standardtabellensichtsregeln des zugrunde liegenden Datenbankverwaltungssystems (DBMS).
Wenn der aktuelle Benutzer eine Tabelle mit dem angegebenen Namen besitzt, werden die Spalten dieser Tabelle zurückgegeben. Wenn @table_owner nicht angegeben ist und der aktuelle Benutzer keine Tabelle mit dem angegebenen @table_name besitzt, sp_column
sucht die Berechtigung nach einer Tabelle mit dem angegebenen @table_name im Besitz des Datenbankbesitzers. Sofern eine solche Tabelle vorhanden ist, werden die Spalten dieser Tabelle zurückgegeben.
[ @table_qualifier = ] N'table_qualifier'
Der Name des Tabellenqualifizierers. @table_qualifier ist "sysname" mit einem Standardwert von NULL
. 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.
[ @column_name = ] N'column_name'
Eine einzelne Spalte, die verwendet wird, wenn nur eine Spalte mit Kataloginformationen abgerufen wird. @column_name ist nvarchar(384), mit einem Standardwert von NULL
. Wenn @column_name nicht angegeben ist, werden alle Spalten zurückgegeben. In SQL Server stellt @column_name den Spaltennamen dar, wie in der sys.columns
Tabelle aufgeführt. @column_name können Mithilfe von Wildcardabgleichsmustern des zugrunde liegenden DBMS Wildcardzeichen enthalten. Für maximale Interoperabilität sollte der Gatewayclient nur den ISO-Standardmusterabgleich (die und _
die %
Wildcardzeichen) übernehmen.
Resultset
sp_column_privileges
SQLColumnPrivileges
entspricht in ODBC. Die zurückgegebenen Ergebnisse werden nach TABLE_QUALIFIER
, , TABLE_OWNER
, TABLE_NAME
, COLUMN_NAME
und .PRIVILEGE
Spaltenname | Datentyp | Beschreibung |
---|---|---|
TABLE_QUALIFIER |
sysname | Der Name des Tabellenqualifizierers. Dieses Feld kann sein NULL . |
TABLE_OWNER |
sysname | Der Name des Tabellenbesitzers. 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 ein Benutzer 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 In SQL Server enthält diese Spalte immer einen Datenbankbenutzer aus der sysusers Tabelle. 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 mithilfe von 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 YES , NO oder NULL sein. Ein unbekannter wert NULL bezieht sich auf eine Datenquelle, für die "Grant with grant" nicht anwendbar ist. |
Hinweise
Mit SQL Server werden Berechtigungen mit der GRANT
Anweisung erteilt und von der REVOKE
Anweisung entfernt.
Berechtigungen
Erfordert die SELECT
-Berechtigung im Schema.
Beispiele
Im folgenden Beispiel werden Informationen zum Spaltenprivileg für eine bestimmte Spalte zurückgegeben.
USE AdventureWorks2022;
GO
EXEC sp_column_privileges
@table_name = 'Employee',
@table_owner = 'HumanResources',
@table_qualifier = 'AdventureWorks2022',
@column_name = 'SalariedFlag';