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 rubrique Conventions 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 n'a pas de valeur par défaut.

  • [ @table_name = ] 'table_name']
    Nom de la table pour laquelle les informations de privilège de table sont demandées. 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 SGBD. 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.

  • [ @fUsePattern =] 'fUsePattern'
    Détermine si les caractères « _ », « % », « [ » et « ] » doivent être interprétés en tant que caractères génériques. Les valeurs valides sont 0 (critères spéciaux désactivés) et 1 (critères spéciaux activés). fUsePattern est de type bit, avec 1 comme valeur par défaut.

Valeurs des codes de retour

Aucun

Jeux de résultats

Nom de la colonne

Type de données

Description

TABLE_CAT

sysname

Nom du qualificateur de la table. Certains produits SGBD 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 à l'utilisateur 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 base de données (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 base de données qui a obtenu les autorisations nécessaires sur la table TABLE_NAME, accordées par l'utilisateur GRANTOR répertorié. 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 récupérer des données pour 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 source contenant une clé é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 une autorisation SELECT sur le schéma.

Exemples

L'exemple suivant retourne les informations relatives aux privilèges des tables dont le nom commence par Product dans la base de données AdventureWorks2012 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 = 'Product%', 
   @table_schema = 'Production',
   @table_catalog ='AdventureWorks2012';

Voir aussi

Référence

sp_column_privileges_ex (Transact-SQL)

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

Procédures stockées de requêtes distribuées (Transact-SQL)