sp_column_privileges (Transact-SQL)
S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance
Fournit des informations sur les privilèges relatifs aux colonnes d'une table dans l'environnement actuel.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_column_privileges [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'table_owner' ]
[ , [ @table_qualifier = ] 'table_qualifier' ]
[ , [ @column_name = ] 'column' ]
Arguments
[ @table_name= ] 'table_name'
Table utilisée pour retourner les informations de catalogue. table_name est sysname, sans valeur par défaut. La recherche de correspondance avec des caractères génériques n'est pas prise en charge.
[ @table_owner= ] 'table_owner'
Propriétaire de la table utilisée pour renvoyer des informations de catalogue. table_owner est sysname, avec la valeur null par défaut. La recherche de correspondance avec des caractères génériques n'est pas prise en charge. Si table_owner n’est pas spécifié, les règles de visibilité de table par défaut du système de gestion de base de données sous-jacent (SGBD) s’appliquent.
Si l'utilisateur actuel possède une table ayant le nom spécifié, ce sont les colonnes de cette table qui sont retournées. Si table_owner n’est pas spécifié et que l’utilisateur actuel ne possède pas de table avec le table_name spécifié, sp_column privilèges recherchent une table avec le table_name spécifié appartenant au propriétaire de la base de données. S'il en existe une, les colonnes de cette table sont retournées.
[ @table_qualifier= ] 'table_qualifier'
Nom du qualificateur de la table. table_qualifier est sysname, avec une valeur par défaut null. Différents produits SGBD prennent en charge la dénomination des tables 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.
[ @column_name= ] 'column'
Colonne unique utilisée lorsqu'une seule colonne d'informations de catalogue est obtenue. la colonne est nvarchar(384), avec une valeur par défaut null. Si l’argument column n’est pas spécifié, toutes les colonnes sont retournées. Dans SQL Server, la colonne représente le nom de colonne comme indiqué dans la table sys.columns. la colonne peut inclure des caractères génériques à l’aide de modèles de correspondance génériques du SGBD sous-jacent. Pour assurer une interopérabilité maximale, le client de la passerelle ne doit utiliser que les modèles de comparaison standard ISO (caractères génériques % et _).
Jeux de résultats
sp_column_privileges équivaut à SQLColumnPrivileges dans ODBC. Les résultats obtenus sont triés par TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME et PRIVILEGE.
Nom de la colonne | Type de données | Description |
---|---|---|
TABLE_QUALIFIER | sysname | Nom du qualificateur de la table. Ce champ peut contenir la valeur NULL. |
TABLE_OWNER | sysname | Nom du propriétaire de 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 retourné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 est toujours la même que la TABLE_OWNER. Ce champ retourne toujours une valeur. La colonne GRANTOR peut être soit le propriétaire de la table (TABLE_OWNER), soit un utilisateur auquel 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é. Dans SQL Server, cette colonne inclut toujours un utilisateur de base de données à partir de la table sysusers. 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 de clé primaire/clé étrangère sont définies à l’aide de contraintes de table. |
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, fait référence à une source de données où la « transmission des droits » ne s'applique pas. |
Notes
Avec SQL Server, les autorisations sont accordées avec l’instruction GRANT et supprimées par l’instruction REVOKE.
autorisations
Nécessite l'autorisation SELECT sur le schéma.
Exemples
L'exemple suivant retourne les informations sur les privilèges d'une colonne spécifique.
USE AdventureWorks2022;
GO
EXEC sp_column_privileges @table_name = 'Employee'
,@table_owner = 'HumanResources'
,@table_qualifier = 'AdventureWorks2022'
,@column_name = 'SalariedFlag';
Voir aussi
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
Procédures stockées système (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour