HILANGKAN KUNCI ENKRIPSI DATABASE (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Menghilangkan kunci enkripsi database yang digunakan dalam enkripsi database transparan. Untuk informasi selengkapnya tentang enkripsi database transparan, lihat Enkripsi Data Transparan (TDE).

Penting

Cadangan sertifikat yang melindungi kunci enkripsi database harus dipertahankan meskipun enkripsi tidak lagi diaktifkan pada database. Meskipun database tidak dienkripsi lagi, bagian dari log transaksi mungkin masih tetap dilindungi, dan sertifikat mungkin diperlukan untuk beberapa operasi sampai pencadangan penuh database dilakukan.

Konvensi sintaks transact-SQL

Sintaksis

DROP DATABASE ENCRYPTION KEY  

Catatan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Keterangan

Jika database dienkripsi, Anda harus terlebih dahulu menghapus enkripsi dari database dengan menggunakan pernyataan ALTER DATABASE. Tunggu hingga dekripsi selesai sebelum menghapus kunci enkripsi database. Untuk informasi selengkapnya tentang pernyataan ALTER DATABASE, lihat MENGUBAH Opsi SET DATABASE (Transact-SQL). Untuk melihat status database, gunakan tampilan manajemen dinamis sys.dm_database_encryption_keys .

Izin

Memerlukan izin CONTROL pada database.

Contoh

Contoh berikut menghapus enkripsi database dan menghilangkan kunci enkripsi database.

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  

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

Contoh berikut menghapus enkripsi TDE lalu menghilangkan kunci enkripsi 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  

Lihat Juga

Transparent Data Encryption (TDE)
SQL Server Encryption
Kunci Enkripsi SQL Server dan Database (Mesin Database)
Hierarki Enkripsi
UBAH Opsi SET DATABASE (Transact-SQL)
MEMBUAT KUNCI ENKRIPSI DATABASE (Transact-SQL)
MENGUBAH KUNCI ENKRIPSI DATABASE (Transact-SQL)
sys.dm_database_encryption_keys (T-SQL)