sys.masked_columns (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und spätere Versionen Azure SQL-DatenbankAzure SQL Managed InstanceSQL database in Microsoft Fabric

Verwenden Sie die sys.masked_columns Ansicht, um Tabellenspalten abzufragen, auf die eine dynamische Datenformatierungsfunktion angewendet wird. Diese Ansicht erbt von der sys.columns -Ansicht. Sie gibt alle Spalten in der sys.columns -Ansicht sowie die Spalten is_masked und masking_function zurück, wobei angegeben wird, ob die Spalte maskiert ist. Ist dies der Fall, gibt die Ansicht die definierte Maskierungsfunktion an. Diese Ansicht zeigt nur die Spalten an, auf die eine Maskierungsfunktion angewendet wird.

Spaltenname Datentyp Description
object_id int Die ID des Objekts, zu dem diese Spalte gehört.
name sysname Name der Spalte. Ist eindeutig innerhalb des Objekts.
column_id int ID der Spalte. Ist eindeutig innerhalb des Objekts.

Spalten-IDs sind möglicherweise nicht sequenziell.
sys.masked_columns gibt viele weitere Spalten zurück, die von sys.columns geerbt wurden. various Weitere Spaltendefinitionen finden Sie unter sys.columns (Transact-SQL ).
is_masked bit Gibt an, ob die Spalte maskiert ist. 1 gibt maskiert an.
masking_function nvarchar(4000) Die Maskierungsfunktion für die Spalte.
generated_always_type tinyint Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank. Die Werte 7, 8, 9, 10 gelten nur für SQL-Datenbank.

Gibt an, wann der Spaltenwert generiert wird (für Spalten in Systemtabellen immer 0):

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

Weitere Informationen finden Sie unter Temporale Tabellen (relationale Datenbanken).

Permissions

Diese Ansicht liefert Informationen über Tabellen, bei denen der Benutzer eine Art Berechtigung für die Tabelle hat oder ob der Benutzer die VIEW ANY DEFINITION-Berechtigung besitzt.

Example

Die folgende Abfrage verknüpft sys.masked_columns mit sys.tables , um Informationen zu allen maskierten Spalten zurückzugeben.

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;  

Siehe auch

Dynamische Datenmaskierung
sys.columns (Transact-SQL)