sys.dm_pdw_nodes_database_encryption_keys (Transact-SQL)
适用于: Azure Synapse Analytics 分析平台系统 (PDW)
返回与数据库加密状态以及相关联数据库加密密钥有关的信息。 sys.dm_pdw_nodes_database_encryption_keys为每个节点提供此信息。 有关数据库加密的详细信息,请参阅透明数据加密(SQL Server PDW)。
注意
Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
列名称 | 数据类型 | 描述 |
---|---|---|
database_id | int | 每个节点上的物理数据库的 ID。 |
encryption_state | int | 指示此节点上的数据库是否已加密。 0 = 不存在数据库加密密钥,未加密 1 = 未加密 2 = 正在进行加密 3 = 已加密 4 = 正在更改密钥 5 = 正在进行解密 6 = 正在进行的保护更改(正在加密数据库加密密钥的证书正在更改。 |
create_date | datetime | 显示加密密钥的创建日期。 |
regenerate_date | datetime | 显示重新生成加密密钥的日期。 |
modify_date | datetime | 显示加密密钥的修改日期。 |
set_date | datetime | 显示加密密钥应用于数据库的日期。 |
opened_date | datetime | 显示上次打开数据库密钥的时间。 |
key_algorithm | varchar(?) | 显示用于密钥的算法。 |
key_length | int | 显示密钥的长度。 |
encryptor_thumbprint | varbin | 显示加密程序的指纹。 |
percent_complete | real | 数据库加密状态更改的完成百分比。 如果未发生状态更改,则为 0。 |
node_id | int | 与节点关联的唯一数值 ID。 |
权限
要求对服务器拥有 VIEW SERVER STATE 权限。
示例
以下示例联接 sys.dm_pdw_nodes_database_encryption_keys
到其他系统表,以指示 TDE 保护数据库的每个节点的加密状态。
Analytics Platform System (PDW)
SELECT D.database_id AS DBIDinMaster, D.name AS UserDatabaseName,
PD.pdw_node_id AS NodeID, DM.physical_name AS PhysDBName,
keys.encryption_state
FROM sys.dm_pdw_nodes_database_encryption_keys AS keys
JOIN sys.pdw_nodes_pdw_physical_databases AS PD
ON keys.database_id = PD.database_id AND keys.pdw_node_id = PD.pdw_node_id
JOIN sys.pdw_database_mappings AS DM
ON DM.physical_name = PD.physical_name
JOIN sys.databases AS D
ON D.database_id = DM.database_id
ORDER BY D.database_id, PD.pdw_node_ID;
Azure Synapse Analytics
--Query provides underlying distribution encryption status
SELECT keys.database_id AS DBIDinPhysicalDatabases,
PD.pdw_node_id AS NodeID, PD.physical_name AS PhysDBName,
keys.encryption_state
FROM sys.dm_pdw_nodes_database_encryption_keys AS keys
JOIN sys.pdw_nodes_pdw_physical_databases AS PD
ON keys.database_id = PD.database_id AND keys.pdw_node_id = PD.pdw_node_id
ORDER BY keys.database_id, PD.pdw_node_ID;
--Query provides the DW encryption status
SELECT D.database_id AS DBIDinMaster, D.name AS UserDatabaseName,
PD.pdw_node_id AS NodeID, PD.physical_name AS PhysDBName,
keys.encryption_state
FROM sys.dm_pdw_nodes_database_encryption_keys AS keys
JOIN sys.pdw_nodes_pdw_physical_databases AS PD
ON keys.database_id = PD.database_id AND keys.pdw_node_id = PD.pdw_node_id
JOIN sys.databases AS D
ON D.database_id = PD.database_id
ORDER BY D.database_id, PD.pdw_node_ID;
另请参阅
Azure Synapse Analytics 和并行数据仓库动态管理视图 (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
DROP DATABASE ENCRYPTION KEY (Transact-SQL)