DROP DATABASE ENCRYPTION KEY (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Löscht einen Verschlüsselungsschlüssel für eine Datenbank, der bei der transparenten Datenbankverschlüsselung verwendet wird. Weitere Informationen zu Transparent Data Encryption finden Sie unter Transparent Data Encryption (TDE).

Wichtig

Auch wenn die Verschlüsselung einer Datenbank deaktiviert wurde, sollte immer eine Sicherung des Zertifikats beibehalten werden, mit dem die Datenbankverschlüsselung geschützt wurde. Selbst wenn die Datenbank nicht mehr verschlüsselt ist, können Teile des Transaktionsprotokolls nach wie vor geschützt sein. Für bestimmte Vorgänge wird das Zertifikat ggf. weiterhin benötigt, bis eine vollständige Sicherung der Datenbank ausgeführt wurde.

Transact-SQL-Syntaxkonventionen

Syntax

DROP DATABASE ENCRYPTION KEY  

Hinweis

Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Hinweise

Wenn die Datenbank verschlüsselt ist, müssen Sie die Verschlüsselung der Datenbank zunächst mit der ALTER DATABASE-Anweisung aufheben. Warten Sie, bis die Entschlüsselung abgeschlossen ist, bevor Sie den Verschlüsselungsschlüssel der Datenbank entfernen. Weitere Informationen zur ALTER DATABASE-Anweisung finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL). Der Status der Datenbank wird mit der dynamischen Verwaltungssicht sys.dm_database_encryption_keys angezeigt.

Berechtigungen

Erfordert die CONTROL-Berechtigung für die Datenbank.

Beispiele

Im folgenden Beispiel wird die Datenbankverschlüsselung entfernt und der Datenbank-Verschlüsselungsschlüssel gelöscht.

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  

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

Im folgenden Beispiel wird die TDE-Verschlüsselung entfernt und der Datenbank-Verschlüsselungsschlüssel gelöscht.

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  

Weitere Informationen

Transparente Datenverschlüsselung (TDE)
SQL Server-Verschlüsselung
Verschlüsselungsschlüssel für SQL Server und SQL-Datenbank (Datenbank-Engine)
Verschlüsselungshierarchie
ALTER DATABASE SET-Optionen (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)