Partager via


sp_table_privileges_ex (Transact-SQL)

Retourne des informations sur les privilèges relatifs à la table spécifiée provenant du serveur lié indiqué.

Icône Lien de rubriqueConventions de syntaxe de Transact-SQL

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'