sys.masked_columns (Transact-SQL)
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL verwaltete Instanz
Verwenden Sie die sys.masked_columns Ansicht, um Tabellenspalten abzufragen, auf die eine dynamische Datenformatierungsfunktion angewendet wird. Diese Ansicht erbt von der sys.columns -Ansicht. Sie gibt alle Spalten in der sys.columns -Ansicht sowie die Spalten is_masked und masking_function zurück, wobei angegeben wird, ob die Spalte maskiert ist. Ist dies der Fall, gibt die Ansicht die definierte Maskierungsfunktion an. Diese Ansicht zeigt nur die Spalten an, auf die eine Maskierungsfunktion angewendet wird.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
object_id | int | Die ID des Objekts, zu dem diese Spalte gehört. |
name | sysname | Name der Spalte. Ist eindeutig innerhalb des Objekts. |
column_id | int | ID der Spalte. Ist eindeutig innerhalb des Objekts. Spalten-IDs sind möglicherweise nicht sequenziell. |
sys.masked_columns gibt viele weitere Spalten zurück, die von sys.columns geerbt wurden. | verschiedene | Weitere Spaltendefinitionen finden Sie unter sys.columns (Transact-SQL ). |
is_masked | bit | Gibt an, ob die Spalte maskiert ist. 1 gibt maskiert an. |
masking_function | nvarchar(4000) | Die Maskierungsfunktion für die Spalte. |
generated_always_type | tinyint | Gilt für: SQL Server 2016 (13.x) und höher, SQL-Datenbank. Die Werte 7, 8, 9, 10 gelten nur für SQL-Datenbank. Gibt an, wann der Spaltenwert generiert wird (für Spalten in Systemtabellen immer 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 Weitere Informationen finden Sie unter Temporale Tabellen (relationale Datenbanken). |
Berechtigungen
Diese Ansicht gibt Informationen zu Tabellen zurück, in denen der Benutzer über eine Art von Berechtigung für die Tabelle verfügt oder wenn der Benutzer über die BERECHTIGUNG VIEW ANY DEFINITION verfügt.
Beispiel
Die folgende Abfrage verknüpft sys.masked_columns mit sys.tables , um Informationen zu allen maskierten Spalten zurückzugeben.
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;