ALTER MASTER KEY (Transact-SQL)
Berlaku untuk: Database SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL database di Microsoft Fabric
Mengubah properti kunci master database.
Sintaks
Sintaks untuk SQL Server
-- 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' }
Sintaks untuk Azure SQL Database dan database SQL di Microsoft Fabric
-- 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' }
Sintaks untuk Azure Synapse Analytics dan Analytics Platform System (PDW)
-- 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 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 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 hilang.
Opsi DROP ENCRYPTION BY SERVICE MASTER KEY menghapus enkripsi kunci master database oleh kunci master layanan.
DROP ENCRYPTION BY SERVICE MASTER KEY tidak didukung di Azure SQL Database.
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 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. Ganti <secure password>
dengan kata sandi yang kuat dan unik.
USE AdventureWorks2022;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
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. Ganti <secure password>
dengan kata sandi yang kuat dan unik.
USE master;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO