Condividi tramite


sys.masked_columns (Transact-SQL)

Si applica a: SQL Server 2016 (13.x) e versioni successive database SQL di Azure Istanza gestita di SQL di Azure

Usare la vista sys.masked_columns per eseguire query per le colonne di tabella a cui è applicata una funzione di maschera dati dinamica. Questa vista viene ereditata dalla vista sys.columns , che restituisce tutte le colonne della vista sys.columns , in aggiunta alle colonne is_masked e masking_function , che indicano se la colonna è nascosta e, in tal caso, quale funzione di maschera viene definita. Questa vista mostra solo le colonne su cui è applicata una funzione di maschera.

Nome colonna Tipo di dati Descrizione
object_id int ID dell'oggetto a cui appartiene la colonna.
name sysname Nome della colonna. Valore univoco all'interno dell'oggetto.
column_id int ID della colonna. Valore univoco all'interno dell'oggetto.

È possibile che gli ID di colonna non siano sequenziali.
sys.masked_columns restituisce molte altre colonne ereditate da sys.columns. vari Per altre definizioni di colonna, vedere sys.columns (Transact-SQL).
is_masked bit Indica se la colonna è mascherata. 1 indica mascherato.
masking_function nvarchar(4000) Funzione di maschera per la colonna.
generated_always_type tinyint Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL. 7, 8, 9, 10 si applica solo a database SQL.

Identifica quando viene generato il valore della colonna (sarà sempre 0 per le colonne nelle tabelle di sistema):

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

Per altre informazioni, vedere Tabelle temporali (database relazionali).

Autorizzazioni

Questa vista restituisce informazioni sulle tabelle in cui l'utente dispone di una sorta di autorizzazione per la tabella o se l'utente dispone dell'autorizzazione VIEW ANY DEFINITION.

Esempio

La query seguente aggiunge sys.masked_columns a sys.tables per restituire informazioni su tutte le colonne mascherate.

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;  

Vedi anche

Maschera dati dinamica
sys.columns (Transact-SQL)