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 = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_catalog' ]   
     [ , [ @column_name = ] 'column_name' ]  

Arguments

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

[ @table_name = ] 'table_name' Nom de la table qui contient la colonne spécifiée. table_name est sysname, avec la valeur null par défaut.

[ @table_schema = ] 'table_schema' Schéma de table. table_schema est sysname, avec la valeur null par défaut.

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

[ @column_name = ] 'column_name' Nom de la colonne pour laquelle fournir des informations sur les privilèges. column_name est sysname, avec une valeur par défaut NULL (tous courants).

Jeux de résultats

Le tableau suivant présente 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 table. Différents produits SGBD prennent en charge l’affectation de noms en trois parties pour les tables (qualificateur.propriétaire.nom). 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 contenir la valeur NULL.
TABLE_SCHEM sysname Nom du propriétaire de la table. Dans SQL Server, cette colonne représente le nom de l’utilisateur de 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 retourné. Ce champ retourne toujours une valeur.
CONCÉDANT sysname Nom d’utilisateur de base de données qui a accordé des autorisations sur cette COLUMN_NAME au BÉNÉFICIAIRE répertorié. Dans SQL Server, cette colonne est toujours la même que la TABLE_OWNER. Ce champ retourne toujours une valeur.

La colonne GRANTOR peut être le propriétaire de la base de données (TABLE_OWNER) ou une personne à laquelle le propriétaire de la base de données a accordé des autorisations à l’aide de la clause WITH GRANT OPTION dans l’instruction GRANT.
GRANTEE sysname Nom d’utilisateur de base de données auquel des autorisations ont été accordées sur ce COLUMN_NAME par le GRANTOR répertorié. Ce champ retourne toujours une valeur.
PRIVILÈGE 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 BÉNÉFICIAIRE) dans la table.

UPDATE = GRANTEE peut modifier les données existantes dans la colonne.

REFERENCES = GRANTEE peut référencer une colonne d’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 le BÉNÉFICIAIRE est autorisé à accorder des autorisations à d’autres utilisateurs (souvent appelée autorisation « accorder avec octroi »). Les valeurs possibles sont YES, NO ou NULL. Une valeur inconnue ou NULL renvoie à une source de données où le « droit d'accorder » ne s'applique pas.

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

Voir aussi

sp_table_privileges_ex (Transact-SQL)
Procédures stockées système (Transact-SQL)