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)