sys.dm_pdw_nodes_database_encryption_keys (Transact-SQL)

适用于:Azure Synapse AnalyticsAnalytics Platform System (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)