sys.masked_columns (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e posterior Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Use a exibição sys.masked_columns para consultar colunas de tabela que tenham uma função de mascaramento de dados dinâmicos aplicada a elas. Essa exibição herda valores da exibição sys.columns . Ela retorna todas as colunas na exibição sys.columns , mais as colunas is_masked e masking_function , indicando se a coluna é mascarada e, em caso positivo, qual função de mascaramento foi definida. Essa exibição só mostra colunas com uma função de máscara aplicada.

Nome da coluna Tipo de dados Descrição
object_id int ID do objeto ao qual esta coluna pertence.
name sysname Nome da coluna. É exclusiva no objeto.
column_id int ID da coluna. É exclusiva no objeto.

Os IDs de coluna podem não ser sequenciais.
sys.masked_columns retorna muito mais colunas herdadas de sys.columns. vários Consulte sys.columns (Transact-SQL) para obter mais definições de coluna.
is_masked bit Indica se a coluna está mascarada. 1 indica mascarado.
masking_function nvarchar(4000) A função de mascaramento da coluna.
generated_always_type tinyint Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de Dados SQL. 7, 8, 9, 10 se aplicam apenas ao Banco de Dados SQL.

Identifica quando o valor da coluna é gerado (sempre será 0 para colunas em tabelas do sistema):

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

Para saber mais, confira Tabelas temporais (bancos de dados relacionais).

Permissões

Essa exibição retorna informações sobre tabelas em que o usuário tem algum tipo de permissão na tabela ou se o usuário tem a permissão VIEW ANY DEFINITION.

Exemplo

A consulta a seguir une sys.masked_columns a sys.tables para retornar informações sobre todas as colunas mascaradas.

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;  

Confira também

Mascaramento de dados dinâmicos
sys.columns (Transact-SQL)