DROP DATABASE ENCRYPTION KEY (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure Azure SynapseAnalytics AnalyticsPlatform System (PDW)

Elimina una chiave di crittografia del database utilizzata per la crittografia trasparente del database. Per altre informazioni sulla crittografia trasparente del database, vedere Transparent Data Encryption (TDE).

Importante

Il backup del certificato che protegge la chiave di crittografia del database deve essere conservato anche se la crittografia non è più abilitata in un database. Anche se il database non viene più crittografato, è possibile che parti del log delle transazioni restino comunque protette e che il certificato sia necessario per alcune operazioni per l'esecuzione del backup completo del database.

Convenzioni di sintassi Transact-SQL

Sintassi

DROP DATABASE ENCRYPTION KEY  

Nota

Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.

Osservazioni

Se il database è crittografato, è necessario innanzitutto rimuovere la crittografia dal database utilizzando l'istruzione ALTER DATABASE. Attendere il completamento della decrittografia prima di rimuovere la chiave di crittografia del database. Per altre informazioni sull'istruzione ALTER DATABASE, vedere Opzioni ALTER DATABASE SET (Transact-SQL). Per visualizzare lo stato della crittografia del database, usare la DMV sys.dm_database_encryption_keys.

Autorizzazioni

È richiesta l'autorizzazione CONTROL per il database.

Esempi

Nell'esempio seguente viene rimossa la crittografia del database e viene eliminata la relativa chiave di crittografia.

ALTER DATABASE AdventureWorks2012  
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 AdventureWorks2012;  
GO  
DROP DATABASE ENCRYPTION KEY;  
GO  

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

Nell'esempio seguente viene rimossa la crittografia TDE e viene eliminata la chiave di crittografia del database.

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  

Vedere anche

Transparent Data Encryption (TDE)
Crittografia di SQL Server
Chiavi di crittografia del database e di SQL Server (Motore di database)
Gerarchia di crittografia
Opzioni ALTER DATABASE SET (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)