sys.masked_columns (Transact-SQL)

Gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Använd vyn sys.masked_columns för att fråga efter tabellkolumner som har en dynamisk datamaskeringsfunktion som tillämpas på dem. Den här vyn ärver från vyn sys.columns . Den returnerar alla kolumner i sys.columns-vyn , plus kolumnerna is_masked och masking_function , som anger om kolumnen är maskerad, och i så fall vilken maskeringsfunktion som definieras. Den här vyn visar bara de kolumner där en maskeringsfunktion används.

Kolumnnamn Datatyp Description
object_id int ID för det objekt som den här kolumnen tillhör.
name sysname Namnet på kolumnen. Är unikt i objektet.
column_id int ID för kolumnen. Är unikt i objektet.

Kolumn-ID:t kanske inte är sekventiella.
sys.masked_columns returnerar många fler kolumner som ärvts från sys.columns. various Se sys.columns (Transact-SQL) för fler kolumndefinitioner.
is_masked bit Anger om kolumnen är maskerad. 1 anger maskerad.
masking_function nvarchar(4000) Maskeringsfunktionen för kolumnen.
generated_always_type tinyint gäller för: SQL Server 2016 (13.x) och senare SQL Database. 7, 8, 9, 10 gäller endast för SQL Database.

Identifierar när kolumnvärdet genereras (kommer alltid att vara 0 för kolumner i systemtabeller):

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

Mer information finns i Temporala tabeller (relationsdatabaser).

Permissions

Denna vy returnerar information om tabeller där användaren har någon form av behörighet på tabellen eller om användaren har behörigheten VIEW ANY DEFINITION.

Example

Följande fråga kopplar sys.masked_columns till sys.tables för att returnera information om alla maskerade kolumner.

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;  

Se även

dynamisk datamaskering
sys.columns (Transact-SQL)