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.
Berlaku untuk:SQL Server
Artikel ini menjelaskan cara memulihkan kunci master database di SQL Server dengan menggunakan Transact-SQL. Kunci master database mengenkripsi kunci dan sertifikat lain di dalam database. Jika dihapus atau rusak, SQL Server mungkin tidak dapat mendekripsi kunci tersebut, dan data yang dienkripsi dengannya secara efektif hilang. Pulihkan kunci master database dari cadangan untuk memulihkan akses ke kunci tersebut.
Limitations
Saat Anda memulihkan kunci master database, SQL Server mendekripsi semua kunci yang dienkripsi dengan kunci master database yang saat ini aktif, lalu mengenkripsinya dengan kunci master database yang dipulihkan. Jadwalkan operasi intensif sumber daya ini 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.
Jika salah satu dekripsi gagal, pemulihan gagal. Anda dapat menggunakan opsi untuk FORCE mengabaikan kesalahan, tetapi opsi ini menyebabkan hilangnya data yang tidak dapat didekripsi.
Jika kunci master layanan mengenkripsi kunci master database, maka kunci tersebut juga akan mengenkripsi kunci master database yang dipulihkan.
Jika tidak ada kunci master database dalam database saat ini, RESTORE MASTER KEY buat kunci master database. Kunci master layanan tidak secara otomatis mengenkripsi kunci master database baru.
Hak Akses
Memerlukan izin CONTROL pada database.
Pulihkan kunci master database
Sampel kode dalam artikel ini menggunakan database sampel AdventureWorks2025 atau AdventureWorksDW2025, yang dapat Anda unduh dari halaman beranda Sampel dan Proyek Komunitas Microsoft SQL Server.
Ambil salinan kunci master database yang dicadangkan, baik dari media pencadangan fisik atau direktori pada sistem file lokal.
Sambungkan ke instans SQL Server yang berisi kunci master database yang ingin Anda pulihkan. Anda dapat terhubung ke instans SQL Server menggunakan alat klien SQL Server yang sudah dikenal, seperti sqlcmd, SQL Server Management Studio (SSMS), atau ekstensi MSSQL untuk Visual Studio Code.
Tinjau dan jalankan skrip Transact-SQL berikut.
Dalam contoh ini:
Anda memulihkan kunci master database untuk
AdventureWorks2025dariC:\Temp\AdventureWorks2025_master_key.Anda menetapkan kata sandi
<new-password>enkripsi baru . Ubah pengaturan ini agar sesuai dengan lingkungan Anda.
Caution
Anda memerlukan kata sandi baru untuk membuka kunci master database di masa mendatang. Pastikan Anda menyimpan kata sandi ini dengan aman dan terjamin.
USE AdventureWorks2025; GO RESTORE MASTER KEY FROM FILE = 'C:\Backups\Keys\AdventureWorks2025_master_key' DECRYPTION BY PASSWORD = '<password>' ENCRYPTION BY PASSWORD = '<new-password>'; GO