DROP DATABASE ENCRYPTION KEY (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

卸除資料庫透明加密中所使用的資料庫加密金鑰。 如需透明資料庫加密的詳細資訊,請參閱透明資料加密 (TDE)

重要

凡是用於保護資料庫加密金鑰的憑證都應該保留備份,即便是資料庫已經不再啟用加密。 就算資料庫已不再加密,交易記錄的某些部分可能仍受到保護,因而有些作業截至資料庫執行完整備份為止或許都需要此憑證。

Transact-SQL 語法慣例

Syntax

DROP DATABASE ENCRYPTION KEY  

注意

Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

備註

如果資料庫經過加密,您必須使用 ALTER DATABASE 陳述式,先從資料庫移除加密。 等候解密完成,然後再移除資料庫加密金鑰。 如需 ALTER DATABASE 陳述式的詳細資訊,請參閱 ALTER DATABASE SET Options (Transact-SQL)。 若要檢視資料庫的狀態,請使用 sys.dm_database_encryption_keys 動態管理檢視。

權限

需要資料庫的 CONTROL 權限。

範例

下列範例會移除資料庫加密並卸除資料庫加密金鑰。

ALTER DATABASE AdventureWorks2022  
SET ENCRYPTION OFF;  
GO  
/* Wait for decryption operation to complete, look for a   
value of  1 in the query below. */  
SELECT encryption_state  
FROM sys.dm_database_encryption_keys;  
GO  
USE AdventureWorks2022;  
GO  
DROP DATABASE ENCRYPTION KEY;  
GO  

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

下列範例會移除 TDE 加密再卸除資料庫加密金鑰。

ALTER DATABASE AdventureWorksPDW2012  
    SET ENCRYPTION OFF;  
GO  
/* Wait for decryption operation to complete, look for a   
value of  1 in the query below. */  
WITH dek_encryption_state AS   
(  
    SELECT ISNULL(db_map.database_id, dek.database_id) AS database_id, encryption_state  
    FROM sys.dm_pdw_nodes_database_encryption_keys AS dek  
        INNER JOIN sys.pdw_nodes_pdw_physical_databases AS node_db_map  
           ON dek.database_id = node_db_map.database_id AND dek.pdw_node_id = node_db_map.pdw_node_id  
        LEFT JOIN sys.pdw_database_mappings AS db_map  
            ON node_db_map .physical_name = db_map.physical_name  
        INNER JOIN sys.dm_pdw_nodes AS nodes  
            ON nodes.pdw_node_id = dek.pdw_node_id  
    WHERE dek.encryptor_thumbprint <> 0x  
)  
SELECT TOP 1 encryption_state  
       FROM  dek_encryption_state  
       WHERE dek_encryption_state.database_id = DB_ID('AdventureWorksPDW2012 ')  
       ORDER BY (CASE encryption_state WHEN 3 THEN -1 ELSE encryption_state END) DESC;   
GO  
USE AdventureWorksPDW2012;  
GO  
DROP DATABASE ENCRYPTION KEY;  
GO  

另請參閱

透明資料加密 (TDE)
SQL Server 加密
SQL Server 和資料庫加密金鑰 (資料庫引擎)
加密階層
ALTER DATABASE SET 選項 (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)