sys.masked_columns (Transact-SQL)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL Database Azure SQL Managed Instance

Utilisez la vue sys.masked_columns pour interroger les colonnes de table qui ont une fonction de masquage dynamique des données appliquée. Celle-ci hérite de la vue sys.columns . Elle retourne toutes les colonnes de la vue sys.columns , ainsi que les colonnes is_masked et masking_function , en indiquant si les colonnes sont masquées et, dans ce cas, la fonction de masquage est définie. Cette vue présente uniquement les colonnes auxquelles une fonction de masquage est appliquée.

Nom de la colonne Type de données Description
object_id int Identificateur de l'objet auquel appartient cette colonne.
name sysname Nom de la colonne. Unique dans l'objet.
column_id int Identificateur de la colonne. Unique dans l'objet.

Les ID de colonnes peuvent ne pas être séquentiels.
sys.masked_columns retourne de nombreuses autres colonnes héritées de sys.columns. various Pour plus de définitions de colonnes, consultez sys.columns (Transact-SQL).
is_masked bit Indique si la colonne est masquée. 1 indique masqué.
masking_function nvarchar(4000) Fonction de masquage de la colonne.
generated_always_type tinyint S’applique à : SQL Server 2016 (13.x) et versions ultérieures, SQL Database. Seuls 7, 8, 9, 10 s’appliquent à SQL Database.

Identifie quand la valeur de colonne est générée (sera toujours 0 pour les colonnes dans les tables système) :

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END
7 = AS_TRANSACTION_ID_START
8 = AS_TRANSACTION_ID_END
9 = AS_SEQUENCE_NUMBER_START
10 = AS_SEQUENCE_NUMBER_END

Pour plus d’informations, consultez Tables temporelles (bases de données relationnelles).

autorisations

Cette vue retourne des informations sur les tables où l’utilisateur dispose d’une certaine autorisation sur la table ou si l’utilisateur dispose de l’autorisation VIEW ANY DEFINITION.

Exemple

La requête suivante joint sys.masked_columns à sys.tables pour retourner des informations sur toutes les colonnes masquées.

SELECT tbl.name as table_name, c.name AS column_name, c.is_masked, c.masking_function  
FROM sys.masked_columns AS c  
JOIN sys.tables AS tbl   
    ON c.object_id = tbl.object_id  
WHERE is_masked = 1;  

Voir aussi

Dynamic Data Masking (masquage des données dynamiques)
sys.columns (Transact-SQL)