PULIHKAN KUNCI MASTER (T-SQL)

Berlaku untuk:SQL Server

Mengimpor kunci master database dari file cadangan.

Penting

SQL Server 2022 (16.x) memperkenalkan dukungan pencadangan dan pemulihan untuk kunci master database ke dan dari penyimpanan Azure Blob. Sintaks URL hanya tersedia untuk SQL Server 2022 (16.x) dan yang lebih baru.

Konvensi sintaks transact-SQL

Sintaksis

RESTORE MASTER KEY FROM 
  {
    FILE = 'path_to_file'
  | URL = 'Azure Blob storage URL'
  }  
    DECRYPTION BY PASSWORD = 'password'  
    ENCRYPTION BY PASSWORD = 'password'  
    [ FORCE ]  

Catatan

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

Argumen

FILE ='path_to_file'
Menentukan jalur lengkap, termasuk nama file, ke kunci master database yang disimpan. path_to_file dapat berupa jalur lokal atau jalur UNC ke lokasi jaringan.

URL ='URL penyimpanan Azure Blob'
Berlaku untuk: SQL Server 2022 (16.x) dan yang lebih baru
Apakah URL untuk penyimpanan Azure Blob Anda, dalam format yang mirip https://<storage_account_name>.blob.core.windows.net/<storage_container_name>/<backup_file_name>.bakdengan .

DEKRIPSI MENURUT KATA SANDI ='kata sandi'
Menentukan kata sandi yang diperlukan untuk mendekripsi kunci master database yang sedang diimpor dari file.

ENKRIPSI MENURUT KATA SANDI ='kata sandi'
Menentukan kata sandi yang digunakan untuk mengenkripsi kunci master database setelah dimuat ke dalam database.

KEKUATAN
Menentukan bahwa proses RESTORE harus berlanjut, meskipun kunci master database saat ini tidak terbuka, atau jika SQL Server tidak dapat mendekripsi beberapa kunci privat yang dienkripsi dengannya.

Keterangan

Ketika kunci master dipulihkan, SQL Server mendekripsi semua kunci yang dienkripsi dengan kunci master yang saat ini aktif, lalu mengenkripsi kunci ini dengan kunci master yang dipulihkan. Operasi intensif sumber daya ini harus dijadwalkan selama periode permintaan rendah. Jika kunci master database saat ini tidak terbuka atau tidak dapat dibuka, atau jika salah satu kunci yang dienkripsi olehnya tidak dapat didekripsi, operasi pemulihan gagal.

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.

Jika kunci master dienkripsi oleh kunci master layanan, kunci master yang dipulihkan juga akan dienkripsi oleh kunci master layanan.

Jika tidak ada kunci master dalam database saat ini, RESTORE MASTER KEY membuat kunci master. Kunci master baru tidak akan dienkripsi secara otomatis dengan kunci master layanan.

Jika Anda menggunakan SQL Server 2022 (16.x) dan yang lebih baru, dan ingin memulihkan kunci master database dari penyimpanan Azure Blob, prasyarat berikut berlaku:

  1. Memiliki akun penyimpanan Azure.

  2. Buat kebijakan akses tersimpan dan penyimpanan akses bersama.

  3. Buat kredensial SQL Server menggunakan tanda tangan akses bersama.

    Untuk informasi selengkapnya, lihat Tutorial: Menggunakan Azure Blob Storage dengan SQL Server.

Izin

Memerlukan izin CONTROL pada database.

Contoh

Contoh berikut memulihkan kunci AdventureWorks2022 master database database dari file.

USE AdventureWorks2022;  
RESTORE MASTER KEY   
    FROM FILE = 'c:\backups\keys\AdventureWorks2022_master_key'   
    DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'   
    ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';  
GO  

Contoh berikut memulihkan kunci AdventureWorks2022 master database database dari penyimpanan Azure Blob.

USE AdventureWorks2022;  
RESTORE MASTER KEY   
    FROM URL = 'https://mydocsteststorage.blob.core.windows.net/mytestcontainer/AdventureWorks2022_master_key.bak'   
    DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'   
    ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';  
GO  

Baca juga

BUAT KUNCI MASTER (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
Hierarki Enkripsi
PULIHKAN KUNCI SIMETRIS