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;