Bagikan melalui


Contoh: Pemulihan Sepotong Database (Model Pemulihan Penuh)

Berlaku untuk: SQL Server

Urutan pemulihan sepotong memulihkan dan memulihkan database secara bertahap di tingkat grup file, dimulai dengan grup file primer dan semua baca-tulis, sekunder.

Dalam contoh ini, database adb dipulihkan ke komputer baru setelah bencana. Database menggunakan model pemulihan penuh; oleh karena itu, sebelum pemulihan dimulai, cadangan log ekor harus diambil dari database. Sebelum bencana, semua grup file sedang online. Grup file B bersifat baca-saja. Semua grup file sekunder harus dipulihkan, tetapi dipulihkan dalam urutan kepentingan: A (tertinggi), C, dan terakhir B. Dalam contoh ini, ada empat cadangan log, termasuk cadangan log ekor.

Pencadangan Log Ekor

Sebelum memulihkan database, administrator database harus mencadangkan ekor log. Karena database rusak, membuat cadangan log ekor memerlukan penggunaan opsi NO_TRUNCATE:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

Cadangan log ekor adalah cadangan terakhir yang diterapkan dalam urutan pemulihan berikut.

Pulihkan Urutan

Catatan

Sintaks untuk urutan pemulihan online sama dengan urutan pemulihan offline.

  1. Pemulihan parsial grup file Aprimer dan sekunder .

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
       WITH PARTIAL, NORECOVERY  
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2   
       WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    
  2. Pemulihan online grup file C.

    Pada titik ini, grup file utama dan grup file A sekunder sedang online. Semua file dalam grup B file dan C pemulihan tertunda, dan grup file sedang offline.

    Pesan dari pernyataan terakhir RESTORE LOG di langkah 1 menunjukkan bahwa pembatalan transaksi yang melibatkan grup C file ditangguhkan, karena grup file ini tidak tersedia. Operasi reguler dapat dilanjutkan, tetapi kunci dipegang oleh transaksi ini dan pemotongan log tidak akan terjadi sampai pemutaran kembali dapat selesai.

    Dalam urutan pemulihan kedua, administrator database memulihkan grup file C:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    Pada titik ini primer dan grup file A dan C sedang online. File dalam grup B file tetap pemulihan tertunda, dengan grup file offline. Transaksi yang ditangguhkan telah diselesaikan, dan pemotongan log terjadi.

  3. Pemulihan online grup file B.

Dalam urutan pemulihan ketiga, administrator database memulihkan grup file B. Cadangan grup file B diambil setelah grup file menjadi baca-saja; oleh karena itu, tidak harus digulirkan ke depan selama pemulihan.

RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY  

Semua grup file sekarang online.

Contoh tambahan

Lihat Juga

BACKUP (Transact-SQL)
Pemulihan Online (SQL Server)
Menerapkan Pencadangan Log Transaksi (SQL Server)
RESTORE (Transact-SQL)
Pemulihan Piecemeal (SQL Server)