Поделиться через


DROP DATABASE ENCRYPTION KEY (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure Azure Synapse Analytics Analytics Platform System (PDW)

Удаляет ключ шифрования базы данных, используемый при прозрачном шифровании базы данных. Дополнительные сведения о прозрачном шифровании баз данных см. в статье Прозрачное шифрование данных (TDE).

Внимание

Необходимо сохранить резервную копию сертификата, защищенную ключом шифрования базы данных, даже если она больше не включена в базе данных. Даже если база данных больше не зашифрована, части журнала транзакций могут по-прежнему оставаться защищенными, а для некоторых операций будет требоваться сертификат до выполнения полного резервного копирования базы данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

DROP DATABASE ENCRYPTION KEY  

Примечание.

Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Замечания

Если база данных зашифрована, необходимо сначала удалить шифрование базы данных с помощью инструкции ALTER DATABASE. Дождитесь завершения расшифровки, прежде чем удалять ключ шифрования базы данных. Дополнительные сведения об инструкции ALTER DATABASE см. в разделе Параметры ALTER DATABASE SET (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 и система платформы аналитики (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 (компонент Database Engine)
Иерархия средств шифрования
Параметры ALTER DATABASE SET (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)