sp_table_privileges_ex (Transact-SQL)
Retourne des informations sur les privilèges relatifs à la table spécifiée provenant du serveur lié indiqué.
Syntaxe
sp_table_privileges_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [@fUsePattern =] 'fUsePattern']
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 base de données pour laquelle les informations de privilège de table sont demandées. L'argument table_name est de type sysname, avec NULL comme valeur par défaut.[ @table_schema = ] 'table_schema'
Schéma de la table. Propriétaire de la table dans certains environnements SGDB. 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.[ @fUsePattern =] 'fUsePattern'
Détermine si les caractères « _ », « % », « [ » et « ] » doivent être interprétés en tant que caractères génériques. Les valeurs qui sont acceptées par l'expression sont 0 (la correspondance de modèle est désactivée) et 1 (la correspondance de modèle est activée). fUsePattern est de type bit, avec 1 comme valeur par défaut.
Valeurs des codes de retour
Aucune
Ensemble de résultats
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, 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. |
GRANTOR |
sysname |
Nom de l'utilisateur de la base de données qui a accordé des autorisations sur la table TABLE_NAME au GRANTEE répertorié. Dans SQL Server, cette colonne est toujours identique à TABLE_OWNER. Ce champ retourne toujours une valeur. D'autre part, la colonne GRANTOR représente soit le propriétaire de la table TABLE_OWNER, soit un utilisateur auquel le propriétaire de la base de données a accordé 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 qui a obtenu les autorisations nécessaires sur la table TABLE_NAME, accordées par GRANTOR. Ce champ retourne toujours une valeur. |
PRIVILEGE |
varchar(32) |
L'une des autorisations disponibles sur la table. Les autorisations sur les tables 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 extraire des données d'une ou plusieurs colonnes. INSERT = GRANTEE peut fournir des données à une ou plusieurs colonnes en rajoutant de nouvelles lignes. UPDATE = GRANTEE peut modifier des données existantes dans une ou plusieurs colonnes. DELETE = GRANTEE peut supprimer des lignes de la table. REFERENCES = GRANTEE peut faire référence à une colonne d'une table étrangère dans une relation clé primaire/clé étrangère. Dans SQL Server, les relations clé primaire/clé étrangère sont définies grâce à des contraintes de table. Le rayon d'action qu'un privilège de table particulier accorde à l'utilisateur GRANTEE dépend de la source de données. Ainsi, l'autorisation UPDATE permet à l'utilisateur GRANTEE de mettre à jour toutes les colonnes d'une table pour une source de données, et uniquement les colonnes pour lesquelles GRANTOR possède l'autorisation UPDATE pour une autre source de données. |
IS_GRANTABLE |
varchar(3) |
Indique si l'utilisateur GRANTEE peut accorder ou non des autorisations à d'autres utilisateurs. On appelle habituellement ce mécanisme « transmission des droits ». Les valeurs possibles sont YES, NO ou NULL. Une valeur inconnue (ou NULL) fait référence à une source de données où la « transmission des droits » ne s'applique pas. |
Notes
Les résultats obtenus sont triés par TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME et PRIVILEGE.
Autorisations
Nécessite l'autorisation SELECT sur le schéma.
Exemple
L'exemple suivant retourne les informations relatives aux privilèges des tables dont le nom commence par Contact dans la base de données AdventureWorks résidant sur le serveur lié Seattle1 (SQL Server est considéré comme étant le serveur lié).
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Contact%',
@table_schema = 'Person',
@table_catalog ='AdventureWorks'