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 每個節點上實體資料庫的識別碼。
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 與節點相關聯的唯一數值識別碼。

權限

需要伺服器上的 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)