Share 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 rubriqueConventions de 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 ne possède 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 la valeur NULL par défaut.

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

  • [ @table_catalog = ] 'table_catalog'
    Nom de la base de données dans laquelle la valeur de table_name réside. 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 la valeur NULL 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 colonne

Type de données

Description

TABLE_CAT

sysname

Nom du qualificateur de la table. Divers produits SGDB prennent en charge les noms de table en trois parties (qualifier.owner.name). Dans SQL Server 2008, 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 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 doit toujours être 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 é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

Requiert une autorisation SELECT sur le schéma.

Exemple

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

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