Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi ke:SQL Server
Azure SQL Managed Instance
Analytics Platform System (PDW)
Membuat kunci enkripsi untuk mengenkripsi database secara transparan. Untuk informasi selengkapnya tentang transparent data encryption (TDE), lihat Transparent Data Encryption (TDE).
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
[ ; ]
Argumen
DENGAN ALGORITMA = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
Menentukan algoritma enkripsi 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 yang lebih lama (tidak disarankan) Anda harus mengatur database ke tingkat kompatibilitas database 120 atau lebih rendah.
ENKRIPSI BERDASARKAN SERTIFIKAT SERVER Encryptor_Name
Menentukan nama enkripsi yang digunakan untuk mengenkripsi kunci enkripsi database.
ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name 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 enkripsi data transparan (TDE). Ketika database dienkripsi secara transparan, seluruh database dienkripsi pada tingkat file, tanpa modifikasi kode khusus. Sertifikat atau kunci asimetris yang mengenkripsi kunci enkripsi database harus terletak di master database sistem.
Sertifikat atau kunci asimetris yang digunakan untuk TDE terbatas pada ukuran kunci privat 3072 bit.
Pernyataan enkripsi database hanya diperbolehkan 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 kepada pengguna yang memiliki akses ke sertifikat yang mengenkripsi dan mendekripsi kunci enkripsi database.
Kunci enkripsi database tidak harus diregenerasi saat pemilik database (dbo) diubah.
Kunci enkripsi database secara otomatis dibuat untuk database SQL Database. Anda tidak perlu membuat kunci menggunakan CREATE DATABASE ENCRYPTION KEY pernyataan .
Izin
Memerlukan izin CONTROL pada database dan izin LIHAT DEFINISI pada sertifikat atau kunci asimetris yang digunakan untuk mengenkripsi kunci enkripsi database.
Contoh
Untuk contoh tambahan menggunakan TDE, lihat Transparent Data Encryption (TDE), Enable TDE di SQL Server Menggunakan EKM, dan Extensible Key Management Menggunakan Azure Key Vault (SQL Server).
A. Membuat kunci enkripsi database
Contoh berikut membuat kunci enkripsi database dengan menggunakan AES_256 algoritma, dan melindungi kunci privat dengan sertifikat bernama MyServerCert.
USE AdventureWorks2022;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
B. Memulihkan database terenkripsi TDE ke instans yang berbeda
Untuk memulihkan database terenkripsi TDE ke instans SQL Server yang berbeda, Anda harus terlebih dahulu mengimpor sertifikat yang melindungi kunci enkripsi database. Cadangkan sertifikat dan kunci privatnya dari server sumber, lalu buat sertifikat pada instans target sebelum Anda memulihkan database.
Di server sumber, cadangkan sertifikat:
-- On the SOURCE server
USE master;
GO
BACKUP CERTIFICATE MyServerCert
TO FILE = 'C:\Backup\MyServerCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Backup\MyServerCert.pvk',
ENCRYPTION BY PASSWORD = '<strong_password>'
);
GO
Pada server target, buat sertifikat dari file cadangan, lalu pulihkan database:
-- On the TARGET server
USE master;
GO
CREATE CERTIFICATE MyServerCert
FROM FILE = 'C:\Backup\MyServerCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Backup\MyServerCert.pvk',
DECRYPTION BY PASSWORD = '<strong_password>'
);
GO
-- Now you can restore the TDE-encrypted database
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'C:\Backup\AdventureWorks2022.bak'
WITH MOVE 'AdventureWorks2022_Data' TO 'D:\Data\AdventureWorks2022.mdf',
MOVE 'AdventureWorks2022_Log' TO 'D:\Data\AdventureWorks2022.ldf';
GO
Penting
Sertifikat harus memiliki nama yang sama dan dibuat dari file cadangan yang sama. Jika sertifikat tidak cocok, pemulihan gagal dengan kesalahan kunci enkripsi.
Konten terkait
- Transparent Data Encryption (TDE)
- SQL Server Encryption
- SQL Server dan Kunci Enkripsi Database (Database Engine)
- Hierarki Enkripsi
- Alter Opsi SET DATABASE (Transact-SQL)
- ALTERALTER KUNCI ENKRIPSI DATABASE (Transact-SQL)
- KUNCI ENKRIPSI DATABASE DROP (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- sertifikat BACKUP (Transact-SQL)
- Buat SERTIFIKAT (Transact-SQL)