sp_table_privileges_ex (Transact-SQL)

S'applique à : SQL Server

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

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_table_privileges_ex
    [ @table_server = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Arguments

[ @table_server = ] N’table_server'

Nom du serveur lié pour lequel retourner des informations. @table_server est sysname, sans valeur par défaut.

[ @table_name = ] N’table_name'

Nom de la table pour laquelle fournir des informations sur les privilèges de table. @table_name est sysname, avec la valeur par défaut NULL.

[ @table_schema = ] N’table_schema'

Schéma de table. Propriétaire de la table dans certains environnements SGBD. @table_schema est sysname, avec la valeur par défaut NULL.

[ @table_catalog = ] N’table_catalog'

Nom de la base de données dans laquelle réside le @table_name spécifié. @table_catalog est sysname, avec la valeur par défaut NULL.

[ @fUsePattern = ] fUsePattern

Détermine si les caractères _, , %[et ] sont interprétés comme des caractères génériques. Les valeurs valides sont 0 (la mise en correspondance des modèles est désactivée) et 1 (la mise en correspondance des modèles est activée). @fUsePattern est bit, avec la valeur par défaut 1.

Valeurs des codes de retour

Aucune.

Jeu de résultats

Nom de la colonne Type de données Description
TABLE_CAT sysname Nom du qualificateur de la table. Différents produits SGBD prennent en charge le nommage en trois parties pour les tables (<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 être 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.
GRANTOR sysname Nom d’utilisateur de la base de données qui a accordé des autorisations sur cette TABLE_NAME valeur à la liste GRANTEE. Dans SQL Server, cette colonne est toujours la même que la TABLE_OWNERcolonne . Ce champ retourne toujours une valeur. En outre, la GRANTOR colonne peut être le propriétaire de la base de données (TABLE_OWNER) ou un utilisateur auquel le propriétaire de la base de données a accordé l’autorisation à l’aide de la WITH GRANT OPTION clause dans l’instruction GRANT .
GRANTEE sysname Nom d’utilisateur de la base de données qui a reçu des autorisations sur cela TABLE_NAME par la liste 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 récupérer des données pour une ou plusieurs des colonnes.

INSERT = GRANTEE peut fournir des données pour de nouvelles lignes pour une ou plusieurs des colonnes.

UPDATE = GRANTEE peut modifier les données existantes pour une ou plusieurs des colonnes.

DELETE = GRANTEE peut supprimer des lignes de la table.

REFERENCES = GRANTEE peut référencer une colonne dans une table étrangère dans une relation clé primaire/clé étrangère. Dans SQL Server, les relations de clé primaire/clé étrangère sont définies à l’aide de contraintes de table.

L’étendue de l’action GRANTEE donnée par un privilège de table spécifique dépend de la source de données. Par exemple, l’autorisation UPDATE peut permettre GRANTEE de mettre à jour toutes les colonnes d’une table sur une source de données et uniquement les colonnes pour lesquelles l’autorisation GRANTOR UPDATE est accordée sur une autre source de données.
IS_GRANTABLE varchar(3) Indique si l’autorisation GRANTEE d’accorder des autorisations à d’autres utilisateurs est autorisée. On appelle habituellement ce mécanisme « transmission des droits ». Peut être YES, NO ou NULL. Une valeur inconnue ou NULL, fait référence à une source de données dans laquelle « accorder avec octroi » n’est pas applicable.

Notes

Les résultats retournés sont classés par TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAMEet PRIVILEGE.

autorisations

Nécessite l’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 AdventureWorks2022 résidant sur le serveur lié Seattle1 SQL Server est supposé être le serveur lié.

EXEC sp_table_privileges_ex @table_server = 'Seattle1',
    @table_name = 'Product%',
    @table_schema = 'Production',
    @table_catalog ='AdventureWorks2022';