Partager via


sp_column_privileges_ex (Transact-SQL)

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

Icône Lien de rubrique Conventions de la syntaxe de 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 renvoyer les informations. table_server est de type sysname et n'a pas de valeur par défaut.

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

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

  • [ @table_catalog = ] 'table_catalog'
    Nom de la base de données qui contient la table table_name spécifiée. table_catalog est de type sysname, avec NULL comme valeur par défaut.

  • [ @column_name = ] 'column_name'
    Nom de la colonne pour laquelle des informations de privilège doivent être fournies. column_name est de type sysname, avec NULL comme valeur par défaut.

Jeux de résultats

Le tableau suivant décrit les colonnes du jeu de résultats. Les résultats obtenus sont trié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. Divers produits SGBD prennent en charge les noms de tables en trois parties (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 contenir la valeur NULL.

TABLE_SCHEMA

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 la colonne, pour chaque colonne de la TABLE_NAME retournée. Ce champ retourne toujours une valeur.

GRANTOR

sysname

Nom de l'utilisateur de base de données qui a accordé les autorisations sur cette COLUMN_NAME au GRANTEE de la liste. Dans SQL Server, cette colonne est toujours identique à TABLE_OWNER. Ce champ retourne toujours une valeur.

La colonne GRANTOR peut être soit le propriétaire de la table (TABLE_OWNER), soit une personne à laquelle le propriétaire de la base de données accorde des autorisations à l'aide de la clause WITH GRANT OPTION de l'instruction GRANT.

GRANTEE

sysname

Nom de l'utilisateur de la base de données auquel des autorisations ont été accordées sur la colonne COLUMN_NAME par l'utilisateur GRANTOR mentionné. 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 permet de récupérer des données pour les colonnes.

INSERT = GRANTEE peut fournir des données pour cette colonne lorsque de nouvelles lignes sont ajoutées à la table par le GRANTEE.

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

REFERENCES = GRANTEE peut faire référence à une colonne d'une table source contenant une clé é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 GRANTEE (bénéficiaire) est autorisé à accorder des autorisations à d'autres utilisateurs. Il y est souvent fait référence sous le terme de « droit d'accorder ». 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 une 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 AdventureWorks2012 située sur le serveur lié Seattle1.

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

Voir aussi

Référence

sp_table_privileges_ex (Transact-SQL)

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