DROP DATABASE ENCRYPTION KEY (Transact-SQL)

Platí na:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformový systém (PDW)

Upustí šifrovací klíč databáze, který se používá v transparentním šifrování databáze. Pro více informací o transparentním šifrování databáze viz transparentní šifrování dat (TDE).

Important

Záloha certifikátu, který chránil šifrovací klíč databáze, by měla být zachována i v případě, že šifrování již není v databázi povoleno. I když databáze již není šifrována, části transakčního logu mohou zůstat chráněné a certifikát může být potřeba pro některé operace, dokud není provedena kompletní záloha databáze.

Transact-SQL konvence syntaxe

Syntax

DROP DATABASE ENCRYPTION KEY  

Note

Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.

Remarks

Pokud je databáze zašifrovaná, musíte nejprve odstranit šifrování z databáze pomocí příkazu ALTER DATABASE . Počkejte na dokončení dešifrování, než odstraníte šifrovací klíč databáze. Pro více informací o ALTER DATABASE tomto tvrzení viz ALTER DATABASE SET Možnosti (Transact-SQL). Pokud chcete zobrazit stav databáze, použijte zobrazení sys.dm_database_encryption_keys dynamické správy.

Permissions

Vyžaduje oprávnění CONTROL k databázi.

Examples

Následující příklad odstraní šifrování databáze a odstraní šifrovací klíč databáze.

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  

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

Následující příklad odstraní šifrování TDE a poté odstraní šifrovací klíč databáze.

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  

Viz také

Transparentní šifrování dat
Šifrování serveru SQL Server
SQL Server a šifrovací klíče databáze (databázový stroj)
Hierarchie šifrování
ALTER DATABASE SET Možnosti (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)