MEMBUAT KUNCI ENKRIPSI DATABASE (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesSistem Platform Azure SQL Managed Instance yesAnalytics (PDW)

Membuat kunci enkripsi yang digunakan untuk mengenkripsi database secara transparan. Untuk informasi selengkapnya tentang enkripsi database transparan, lihat Enkripsi Data Transparan (TDE).

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

-- Syntax for SQL Server  

CREATE DATABASE ENCRYPTION KEY  
       WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }  
   ENCRYPTION BY SERVER   
    {  
        CERTIFICATE Encryptor_Name |  
        ASYMMETRIC KEY Encryptor_Name  
    }  
[ ; ]  
-- Syntax for Parallel Data Warehouse  

CREATE DATABASE ENCRYPTION KEY  
       WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }  
   ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name   
[ ; ]  

Catatan

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

Argumen

DENGAN ALGORITMA = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
Menentukan algoritma enkripsi yang digunakan untuk kunci enkripsi.

Peringatan

Dimulai dengan SQL Server 2016, semua algoritma selain AES_128, AES_192, dan AES_256 tidak digunakan lagi. Untuk menggunakan algoritma lama (tidak disarankan) Anda harus mengatur database ke tingkat kompatibilitas database 120 atau lebih rendah.

ENKRIPSI BERDASARKAN ENCRYPTOR_NAME SERTIFIKAT SERVER
Menentukan nama enkripsi yang digunakan untuk mengenkripsi kunci enkripsi database.

ENKRIPSI MENURUT ENCRYPTOR_NAME KUNCI ASIMETRIS SERVER
Menentukan nama kunci asimetris yang digunakan untuk mengenkripsi kunci enkripsi database. Untuk mengenkripsi kunci enkripsi database dengan kunci asimetris, kunci asimetris harus berada di penyedia manajemen kunci yang dapat diperluas.

Keterangan

Kunci enkripsi database diperlukan sebelum database dapat dienkripsi dengan menggunakan Transparent Database Encryption (TDE). Ketika database dienkripsi secara transparan, seluruh database dienkripsi pada tingkat file, tanpa modifikasi kode khusus. Sertifikat atau kunci asimetris yang digunakan untuk mengenkripsi kunci enkripsi database harus terletak di database sistem master.

Pernyataan enkripsi database hanya diizinkan pada database pengguna.

Kunci enkripsi database tidak dapat diekspor dari database. Ini hanya tersedia untuk sistem, untuk pengguna yang memiliki izin penelusuran kesalahan di server, dan untuk pengguna yang memiliki akses ke sertifikat yang mengenkripsi dan mendekripsi kunci enkripsi database.

Kunci enkripsi database tidak harus diregenerasi ketika pemilik database (dbo) diubah.

Kunci enkripsi database secara otomatis dibuat untuk database SQL Database. Anda tidak perlu membuat kunci menggunakan pernyataan CREATE DATABASE ENCRYPTION KEY.

Izin

Memerlukan izin CONTROL pada database dan izin VIEW DEFINITION pada sertifikat atau kunci asimetris yang digunakan untuk mengenkripsi kunci enkripsi database.

Contoh

Untuk contoh tambahan menggunakan TDE, lihat Enkripsi Data Transparan (TDE), Mengaktifkan TDE di SQL Server Menggunakan EKM, dan Extensible Key Management Menggunakan Azure Key Vault (SQL Server).

Contoh berikut membuat kunci enkripsi database dengan menggunakan AES_256 algoritma, dan melindungi kunci privat dengan sertifikat bernama MyServerCert.

USE AdventureWorks2012;  
GO  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_256  
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;  
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)
MENGUBAH KUNCI ENKRIPSI DATABASE (Transact-SQL)
HILANGKAN KUNCI ENKRIPSI DATABASE (Transact-SQL)
sys.dm_database_encryption_keys (T-SQL)