Partage via


sp_column_privileges_ex (Transact-SQL)

S’applique à : SQL Server

Retourne les privilèges de colonne de la table spécifiée sur le serveur lié spécifié.

Conventions de la syntaxe Transact-SQL

Syntaxe

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' ]
[ ; ]

Arguments

[ @table_server = ] N’table_server'

Nom du serveur lié pour lequel retourner des informations. @table_server est sysname, sans valeur par défaut.

[ @table_name = ] N'table_name'

Nom de la table qui contient la colonne spécifiée. @table_name est sysname, avec la valeur par défaut NULL.

[ @table_schema = ] N’table_schema'

Schéma de table. @table_schema est sysname, avec la valeur par défaut NULL.

[ @table_catalog = ] N’table_catalog'

Nom de la base de données dans laquelle réside le @table_name spécifié. @table_catalog est sysname, avec la valeur par défaut NULL.

[ @column_name = ] N’column_name'

Nom de la colonne pour laquelle fournir des informations de privilège. @column_name est sysname, avec une valeur par défaut (NULLtoutes communes).

Jeu de résultats

Le tableau suivant montre les colonnes du jeu de résultats. Les résultats retournés sont classés par TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME, et PRIVILEGE.

Nom de la colonne Type de données Description
TABLE_CAT sysname Nom du qualificateur de la table. Différents produits SGBD prennent en charge le nommage en trois parties pour les tables (<qualifier>.<owner>.<name>). Dans SQL Server, cette colonne représente le nom de la base de données. Dans d'autres produits, elle représente le nom du serveur de l'environnement de base de données de la table. Ce champ peut être NULL.
TABLE_SCHEM sysname Nom du propriétaire de la table. Dans SQL Server, cette colonne représente le nom de l’utilisateur de la base de données qui a créé la table. Ce champ retourne toujours une valeur.
TABLE_NAME sysname Nom de la table. Ce champ retourne toujours une valeur.
COLUMN_NAME sysname Nom de colonne, pour chaque colonne du TABLE_NAME retour. Ce champ retourne toujours une valeur.
GRANTOR sysname Nom d’utilisateur de la base de données qui a reçu des autorisations sur celle-ci COLUMN_NAME sur la liste GRANTEE. Dans SQL Server, cette colonne est toujours la même que la TABLE_OWNERcolonne . Ce champ retourne toujours une valeur.

La GRANTOR colonne peut être le propriétaire de la base de données (TABLE_OWNER) ou une personne à qui le propriétaire de la base de données a accordé des autorisations à l’aide de la WITH GRANT OPTION clause dans l’instruction GRANT .
GRANTEE sysname Nom d’utilisateur de la base de données qui a reçu des autorisations sur cela COLUMN_NAME par la liste GRANTOR. Ce champ retourne toujours une valeur.
PRIVILEGE varchar(32) L'une des autorisations sur les colonnes disponibles. Les autorisations relatives aux colonnes peuvent prendre l'une des valeurs suivantes (ou d'autres valeurs prises en charge par la source des données si leur implémentation est définie) :

SELECT = GRANTEE peut récupérer des données pour les colonnes.
INSERT = GRANTEE peut fournir des données pour cette colonne lorsque de nouvelles lignes sont insérées (par le GRANTEE) dans la table.
UPDATE = GRANTEE peut modifier les données existantes dans la colonne.
REFERENCES = GRANTEE peut référencer une colonne dans une table étrangère dans une relation clé primaire/clé étrangère. Les relations clé primaire/clé étrangère sont définies grâce à des contraintes portant sur les tables.
IS_GRANTABLE varchar(3) Indique si l’autorisation GRANTEE est autorisée à accorder des autorisations à d’autres utilisateurs (souvent appelée autorisation « accorder avec octroi »). Peut être OUI, NON ou NULL. Une valeur inconnue ou NULL, fait référence à une source de données où « accorder avec octroi » n’est pas applicable.

autorisations

Nécessite l’autorisation SELECT sur le schéma.

Exemples

L'exemple suivant retourne les informations de privilèges de colonne relatives à la table HumanResources.Department de la base de données AdventureWorks2022 située sur le serveur lié Seattle1.

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