sys.masked_columns (Transact-SQL)
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Database Azure SQL Managed Instance
sys.masked_columns ビューを使用して、動的データ マスク関数が適用されているテーブル列を照会します。 このビューが継承、 sys.columns ビューです。 sys.columns ビューのすべての列と、 is_masked 列および masking_function 列を返して、マスクされた列かどうかを示し、マスクされた列の場合は、どのようなマスキング関数が定義されているかを示します。 これは、列があるマスキング関数が適用されるは表示のみを表示します。
列名 | データ型 | 説明 |
---|---|---|
object_id | int | この列が所属するオブジェクトの ID。 |
name | sysname | 列の名前です。 オブジェクト内で一意です。 |
column_id | int | 列の ID。 オブジェクト内で一意です。 列 ID は、シーケンシャルではない可能性があります。 |
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 Database。 7、8、9、10 は、SQL Database にのみ適用されます。 列の値が生成されるタイミングを識別します (システム テーブル内の列では、常に 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.tables にsys.masked_columns結合して、マスクされたすべての列に関する情報を返します。
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;