sp_column_privileges_ex (Transact-SQL)
Retourne les privilèges de colonne de la table spécifiée sur le serveur lié spécifié.
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 certains SGBD, elle représente le nom (au sens 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 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 rentourné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 AdventureWorks située sur le serveur lié Seattle1.
EXEC sp_column_privileges_ex @table_server = 'Seattle1',
@table_name = 'Department',
@table_schema = 'HumanResources',
@table_catalog ='AdventureWorks'
Voir aussi