Udostępnij za pomocą


sys.masked_columns (Transact-SQL)

Dotyczy do: SQL Server 2016 (13.x) i nowsze wersje Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Użyj widoku sys.masked_columns , aby wykonać zapytanie dotyczące kolumn tabeli z zastosowaną funkcją dynamicznego maskowania danych. Ten widok dziedziczy z widoku sys.columns . Zwraca wszystkie kolumny w widoku sys.columns oraz kolumny is_masked i masking_function wskazujące, czy kolumna jest maskowana, a jeśli tak, zdefiniowana jest funkcja maskowania. Ten widok przedstawia tylko kolumny, na których zastosowano funkcję maskowania.

Nazwa kolumny Typ danych Description
object_id int Identyfikator obiektu, do którego należy ta kolumna.
name sysname Nazwa kolumny. Jest unikatowy w obiekcie.
column_id int Identyfikator kolumny. Jest unikatowy w obiekcie.

Identyfikatory kolumn mogą nie być sekwencyjne.
sys.masked_columns zwraca o wiele więcej kolumn dziedziczone z kolumn sys.columns. various Aby uzyskać więcej definicji kolumn, zobacz sys.columns (Transact-SQL).
is_masked bit Wskazuje, czy kolumna jest maskowana. 1 wskazuje maskowane.
masking_function nvarchar(4000) Funkcja maskowania dla kolumny.
generated_always_type tinyint Dotyczy: SQL Server 2016 (13.x) i nowszych, SQL Database. 7, 8, 9, 10 dotyczy tylko usługi SQL Database.

Określa, kiedy wartość kolumny jest generowana (zawsze będzie wynosić 0 dla kolumn w tabelach systemowych):

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

Aby uzyskać więcej informacji, zobacz Tabele czasowe (relacyjne bazy danych).

Permissions

Ten widok zwraca informacje o tabelach, w których użytkownik ma jakieś uprawnienia do tabeli lub jeśli użytkownik ma uprawnienie WYŚWIETL DOWOLNĄ DEFINICJĘ.

Example

Poniższe zapytanie łączy sys.masked_columns z tabelami sys.tables w celu zwrócenia informacji o wszystkich zamaskowanych kolumnach.

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;  

Zobacz też

Dynamiczne maskowanie danych
sys.columns (Transact-SQL)