Partilhar via


DROP DATABASE ENCRYPTION KEY (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Descarta uma chave de criptografia de banco de dados usada em criptografia de banco de dados transparente. Para obter mais informações sobre criptografia de banco de dados transparente, confira TDE (Transparent Data Encryption).

Importante

O backup do certificado que estava protegendo a chave de criptografia de banco de dados deverá ser mantido até mesmo se a criptografia não estiver mais habilitada em um banco de dados. Mesmo que o banco de dados não esteja mais criptografado, partes do log de transações ainda poderão permanecer protegidas e talvez o certificado seja necessário para algumas operações até a realização do backup completo do banco de dados.

Convenções de sintaxe de Transact-SQL

Sintaxe

DROP DATABASE ENCRYPTION KEY  

Observação

Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Comentários

Se o banco de dados for criptografado, você deverá primeiro remover a criptografia do banco de dados usando a instrução ALTER DATABASE. Aguarde a conclusão da descriptografia antes de remover a chave de criptografia de banco de dados. Para obter mais informações sobre a instrução ALTER DATABASE, veja Opções ALTER DATABASE SET (Transact-SQL). Para exibir o estado do banco de dados, use a exibição de gerenciamento dinâmico sys.dm_database_encryption_keys.

Permissões

Exige a permissão CONTROL no banco de dados.

Exemplos

O exemplo a seguir remove a criptografia do banco de dados e descarta a chave de criptografia do banco de dados.

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  

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

O exemplo a seguir remove a criptografia TDE e então remove a chave de criptografia do banco de dados.

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  

Consulte Também

TDE (Transparent Data Encryption)
Criptografia do SQL Server
Chaves de criptografia do SQL Server e banco de dados (Mecanismo de Banco de Dados)
Hierarquia de criptografia
Opções ALTER DATABASE SET (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)