sys.masked_columns (Transact-SQL)
Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure
Используйте представление sys.masked_columns для запроса к табличным столбцам с динамической функцией маскирования данных, примененной к ним. Это представление наследуется из представления sys.columns . Оно возвращает все столбцы в представлении sys.columns , а также столбцы is_masked и masking_function , указывающие, маскирован ли столбец, и если да, то какая функция маскирования определена. В этом представлении отображаются только столбцы, к которым применена функция маскирования.
Имя столбца | Тип данных | Description |
---|---|---|
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;