DROP DATABASE ENCRYPTION KEY (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
透過的なデータベースの暗号化で使用されるデータベース暗号化キーを削除します。 透過的データベース暗号化について詳しくは、「透過的なデータ暗号化 (TDE)」をご覧ください。
重要
データベース暗号化キーを保護していた証明書のバックアップは、データベースで暗号化を無効にした後も保持しておく必要があります。 データベースが暗号化されなくなっても、トランザクション ログの一部はまだ保護されたままの場合があるため、データベースの完全バックアップが実行されるまでは、一部の操作で証明書が必要になることがあります。
構文
DROP DATABASE ENCRYPTION KEY
Note
この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
解説
データベースが暗号化されている場合は、まず 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、Analytics Platform System (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 とデータベースの暗号化キー (データベース エンジン)
暗号化階層
ALTER DATABASE SET のオプション (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)