Bagikan melalui


Pemulihan Database Lengkap (Model Pemulihan Sederhana)

Berlaku untuk: SQL Server

Dalam pemulihan database lengkap, tujuannya adalah memulihkan seluruh database. Seluruh database offline selama durasi pemulihan. Sebelum bagian mana pun dari database dapat online, semua data dipulihkan ke titik yang konsisten di mana semua bagian database berada pada titik waktu yang sama dan tidak ada transaksi yang tidak dilakukan.

Di bawah model pemulihan sederhana, database tidak dapat dipulihkan ke titik waktu tertentu dalam cadangan tertentu.

Penting

Kami menyarankan agar Anda tidak melampirkan atau memulihkan database dari sumber yang tidak diketahui atau tidak tepercaya. Database ini dapat berisi kode berbahaya yang mungkin menjalankan kode Transact-SQL yang tidak diinginkan atau menyebabkan kesalahan dengan memodifikasi skema atau struktur database fisik. Sebelum Anda menggunakan database dari sumber yang tidak diketahui atau tidak tepercaya, jalankan DBCC CHECKDB pada database di server nonproduksi dan juga periksa kode, seperti prosedur tersimpan atau kode lain yang ditentukan pengguna, dalam database.

Dalam Topik ini:

Catatan

Untuk informasi tentang dukungan untuk pencadangan dari versi SQL Server sebelumnya, lihat bagian "Dukungan Kompatibilitas" dari RESTORE (Transact-SQL).

Gambaran Umum Pemulihan Database Di Bawah Model Pemulihan Sederhana

Pemulihan database lengkap di bawah model pemulihan sederhana melibatkan satu atau dua pernyataan RESTORE , tergantung pada apakah Anda ingin memulihkan cadangan database diferensial. Jika Anda hanya menggunakan cadangan database lengkap, cukup pulihkan cadangan terbaru, seperti yang diperlihatkan dalam ilustrasi berikut.

Memulihkan hanya cadangan database lengkap

Jika Anda juga menggunakan cadangan database diferensial, pulihkan cadangan database lengkap terbaru tanpa memulihkan database, lalu pulihkan cadangan database diferensial terbaru dan pulihkan database. Ilustrasi berikut menunjukkan proses ini.

Memulihkan cadangan database penuh dan diferensial

Catatan

Jika Anda berencana memulihkan cadangan database ke instans server yang berbeda, lihat Menyalin Database dengan Pencadangan dan Pemulihan.

Sintaks PEMULIHAN Transact-SQL Dasar

Sintaks transact-SQLRESTORE dasar untuk memulihkan cadangan database lengkap adalah:

PULIHKAN DATABASE database_name DARI backup_device [ DENGAN NORECOVERY ]

Catatan

Gunakan WITH NORECOVERY jika Anda berencana untuk juga memulihkan cadangan database diferensial.

Sintaks RESTORE dasar untuk memulihkan cadangan database adalah:

MEMULIHKAN DATABASE_NAME DATABASE DARI backup_device DENGAN PEMULIHAN

Contoh (Transact-SQL)

Contoh berikut pertama-tama memperlihatkan cara menggunakan pernyataan BACKUP untuk membuat cadangan database lengkap dan cadangan AdventureWorks2022 database diferensial database. Contoh kemudian memulihkan cadangan ini secara berurutan. Database dipulihkan ke statusnya pada saat pencadangan database diferensial selesai.

Contoh menunjukkan opsi penting dalam urutan pemulihan untuk skenario pemulihan database lengkap. Urutan pemulihan terdiri dari satu atau beberapa operasi pemulihan yang memindahkan data melalui satu atau beberapa fase pemulihan. Sintaks dan detail yang tidak relevan dengan tujuan ini dihilangkan. Saat Anda memulihkan database, sebaiknya tentukan opsi RECOVERY secara eksplisit untuk kejelasan, meskipun itu adalah default.

Catatan

Contoh dimulai dengan pernyataan ALTER DATABASE yang mengatur model pemulihan ke SIMPLE.

USE master;  
--Make sure the database is using the simple recovery model.  
ALTER DATABASE AdventureWorks2022 SET RECOVERY SIMPLE;  
GO  
-- Back up the full AdventureWorks2022 database.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
  WITH FORMAT;  
GO  
--Create a differential database backup.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'  
   WITH DIFFERENTIAL;  
GO  
--Restore the full database backup (from backup set 1).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=1, NORECOVERY;  
--Restore the differential backup (from backup set 2).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=2, RECOVERY;  
GO  

Tugas Terkait

Untuk memulihkan cadangan database lengkap

Untuk memulihkan cadangan database diferensial

Untuk memulihkan cadangan dengan menggunakan SQL Server Management Objects (SMO)

Lihat Juga

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (T-SQL)
Pencadangan Database Lengkap (SQL Server)
Pencadangan Diferensial (SQL Server)
Gambaran Umum Pencadangan (SQL Server)
Gambaran Umum Pengembalian dan Pemulihan (SQL Server)