sys.masked_columns (Transact-SQL)

Применимо к: SQL Server 2016 (13.x) и более поздних версий Управляемый экземпляр SQL Azure базы данных Azure SQL

Используйте представление sys.masked_columns для запроса к табличным столбцам с динамической функцией маскирования данных, примененной к ним. Это представление наследуется из представления sys.columns . Оно возвращает все столбцы в представлении sys.columns , а также столбцы is_masked и masking_function , указывающие, маскирован ли столбец, и если да, то какая функция маскирования определена. В этом представлении отображаются только столбцы, к которым применена функция маскирования.

Имя столбца Тип данных Описание
object_id int Идентификатор объекта, которому принадлежит этот столбец.
name sysname Имя столбца. Уникален в пределах объекта.
column_id int Идентификатор столбца. Уникален в пределах объекта.

Идентификаторы столбца могут быть непоследовательными.
sys.masked_columns возвращает гораздо больше столбцов, унаследованных от sys.columns. Различная Дополнительные определения столбцов см. в статье sys.columns (Transact-SQL ).
is_masked bit Указывает, маскируется ли столбец. Значение 1 указывает на маску.
masking_function nvarchar(4000) Функция маскирования для столбца.
generated_always_type tinyint Применимо к: SQL Server 2016 (13.x); и выше, База данных SQL. 7, 8, 9, 10 применяются только к Базе данных SQL.

Определяет, когда создается значение столбца (всегда равно 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

Дополнительные сведения см. в разделе Темпоральные таблицы (реляционные базы данных).

Разрешения

Это представление возвращает сведения о таблицах, где пользователь имеет некоторое разрешение на таблицу или имеет ли пользователь разрешение VIEW ANY DEFINITION.

Пример

Следующий запрос объединяет sys.masked_columns с sys.tables для возврата сведений обо всех маскированных столбцах.

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;  

См. также:

Маскирование динамических данных
sys.columns (Transact-SQL)