ALTER MASTER KEY (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Mengubah properti kunci master database.
Sintaks
-- Syntax for SQL Server
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'
<encryption_option> ::=
ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
|
DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'
<encryption_option> ::=
ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
|
DROP ENCRYPTION BY { PASSWORD = 'password' }
-- Syntax for Azure Synapse Analytics and Analytics Platform System
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD ='password'
<encryption_option> ::=
ADD ENCRYPTION BY SERVICE MASTER KEY
|
DROP ENCRYPTION BY SERVICE MASTER KEY
Argumen
PASSWORD ='password' Menentukan kata sandi untuk mengenkripsi atau mendekripsi kunci master database. kata sandi harus memenuhi persyaratan kebijakan kata sandi Windows komputer yang menjalankan instans SQL Server.
Keterangan
Opsi REGENERATE membuat ulang kunci master database dan semua kunci yang dilindunginya. Kunci pertama kali didekripsi dengan kunci master lama, dan kemudian dienkripsi dengan kunci master baru. Operasi intensif sumber daya ini harus dijadwalkan selama periode permintaan rendah, kecuali kunci master telah disusupi.
SQL Server 2012 (11.x) menggunakan algoritma enkripsi AES untuk melindungi kunci master layanan (SMK) dan kunci master database (DMK). AES adalah algoritma enkripsi yang lebih baru dari 3DES yang digunakan dalam versi sebelumnya. Setelah meningkatkan instans Mesin Database ke SQL Server 2012 (11.x) SMK dan DMK harus diregenerasi untuk meningkatkan kunci master ke AES. Untuk informasi selengkapnya tentang meregenerasi SMK, lihat MENGUBAH KUNCI MASTER LAYANAN.
Ketika opsi FORCE digunakan, regenerasi kunci akan berlanjut bahkan jika kunci master tidak tersedia atau server tidak dapat mendekripsi semua kunci privat terenkripsi. Jika kunci master tidak dapat dibuka, gunakan pernyataan RESTORE MASTER KEY untuk memulihkan kunci master dari cadangan. Gunakan opsi FORCE hanya jika kunci master tidak dapat diambil atau jika dekripsi gagal. Informasi yang dienkripsi hanya oleh kunci yang tidak dapat diambil akan hilang.
Opsi DROP ENCRYPTION BY SERVICE MASTER KEY menghapus enkripsi kunci master database oleh kunci master layanan.
ADD ENCRYPTION BY SERVICE MASTER KEY menyebabkan salinan kunci master dienkripsi menggunakan kunci master layanan dan disimpan di database saat ini dan di master.
Izin
Memerlukan izin CONTROL pada database. Jika kunci master database telah dienkripsi dengan kata sandi, pengetahuan tentang kata sandi tersebut juga diperlukan.
Contoh
Contoh berikut membuat kunci master database baru untuk AdventureWorks
dan mendekripsi ulang kunci di bawahnya dalam hierarki enkripsi.
USE AdventureWorks2022;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut membuat kunci master database baru untuk AdventureWorksPDW2012
dan mengenkripsi ulang kunci di bawahnya dalam hierarki enkripsi.
USE master;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO