Dela via


sys.masked_columns (Transact-SQL)

Gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceSQL Database i Förhandsversion av 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.

Column name Data type 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

Den här vyn returnerar information om tabeller där användaren har någon form av behörighet i tabellen eller om användaren har behörigheten VISA NÅGON 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;  

See Also

dynamisk datamaskering
sys.columns (Transact-SQL)