Bagikan melalui


Memulihkan cadangan database diferensial (SQL Server)

Berlaku untuk:SQL Server

Topik ini menjelaskan cara memulihkan cadangan database diferensial di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.

Dalam Topik Ini

Sebelum Anda mulai

Batasan dan Pembatasan

  • RESTORE tidak diperbolehkan dalam transaksi eksplisit atau implisit.

  • Cadangan yang dibuat oleh versi SQL Server yang lebih baru tidak dapat dipulihkan di versi SQL Server yang lebih lama.

  • Di SQL Server, Anda dapat memulihkan database pengguna dari cadangan database yang dibuat dengan menggunakan SQL Server 2005 (9.x) atau versi yang lebih baru.

Prasyarat

  • Di bawah model pemulihan penuh atau dicatat massal, sebelum Anda dapat memulihkan database, Anda harus mencadangkan log transaksi aktif (dikenal sebagai ekor log). Untuk informasi selengkapnya, silakan lihat Mencadangkan Log Transaksi (SQL Server).

Keamanan

Perizinan

Jika database yang dipulihkan tidak ada, pengguna harus memiliki izin CREATE DATABASE untuk dapat menjalankan RESTORE. Jika database ada, izin RESTORE secara default diberikan kepada anggota peran server tetap sysadmin dan dbcreator serta pemilik (dbo) database (untuk opsi FROM DATABASE_SNAPSHOT, database selalu ada).

Izin RESTORE diberikan kepada peran di mana informasi keanggotaan selalu dapat diakses dengan mudah oleh server. Karena keanggotaan peran database tetap hanya dapat diperiksa ketika database dapat diakses dan tidak rusak, yang tidak selalu terjadi ketika RESTORE dijalankan, anggota peran database tetap db_owner tidak memiliki izin RESTORE.

Menggunakan SQL Server Management Studio

Untuk memulihkan cadangan database diferensial

  1. Setelah Anda menyambungkan ke instans Mesin Database Microsoft SQL Server yang sesuai, di Object Explorer, klik nama server untuk memperluas pohon server.

  2. Luaskan Database. Bergantung pada database, pilih database pengguna atau perluas Database Sistem, lalu pilih database sistem.

  3. Klik kanan database, arahkan ke Tugas, arahkan ke Pulihkan, lalu klik Database.

  4. Pada halaman Umum , gunakan bagian Sumber untuk menentukan sumber dan lokasi kumpulan cadangan yang akan dipulihkan. pilih salah satu dari opsi berikut ini:

    • Database

      Pilih database yang akan dipulihkan dari daftar drop-down. Daftar hanya berisi database yang telah dicadangkan berdasarkan riwayat pencadangan msdb.

    Catatan

    Jika cadangan diambil dari server yang berbeda, server tujuan tidak akan memiliki informasi riwayat cadangan untuk database yang ditentukan. Dalam hal ini, pilih Perangkat untuk menentukan file atau perangkat yang akan dipulihkan secara manual.

    • Perangkat

      Klik tombol telusuri (...) untuk membuka kotak dialog Pilih perangkat cadangan. Dalam kotak Jenis media cadangan, pilih salah satu jenis perangkat yang tercantum. Untuk memilih satu atau beberapa perangkat untuk kotak media Cadangan, klik Tambahkan.

      Setelah Anda menambahkan perangkat yang Anda inginkan ke kotak daftar Media cadangan, klik OK untuk kembali ke halaman Umum .

      Dalam kotak daftar Sumber: Perangkat: Database , pilih nama database yang harus dipulihkan.

      Catatan Daftar ini hanya tersedia ketika Perangkat dipilih. Hanya database yang memiliki cadangan pada perangkat yang dipilih yang akan tersedia.

  5. Di bagian Tujuan , kotak Database secara otomatis diisi dengan nama database yang akan dipulihkan. Untuk mengubah nama database, masukkan nama baru dalam kotak Database .

    Catatan

    Untuk menghentikan pemulihan pada titik waktu tertentu, klik Garis Waktu untuk mengakses kotak dialog Garis Waktu Cadangan. Untuk bantuan menghentikan pemulihan database pada titik waktu tertentu, lihat Memulihkan Database SQL Server ke Titik Waktu (Model Pemulihan Penuh).

  6. Di bagian Kumpulan Cadangan untuk Dipulihkan, pilih cadangan melalui cadangan diferensial yang ingin Anda pulihkan.

    Untuk informasi tentang kolom di tabel set Cadangan untuk dipulihkan, lihat bagian Memulihkan Database (Halaman Umum).

  7. Pada halaman Opsi , di panel Opsi pemulihan, Anda dapat memilih salah satu opsi berikut, jika sesuai dengan situasi Anda:

    • Timpa database yang ada (DENGAN REPLACE)

    • Mempertahankan pengaturan replikasi (WITH KEEP_REPLICATION)

    • Perintah sebelum memulihkan setiap cadangan

    • Membatasi akses ke database yang dipulihkan (WITH RESTRICTED_USER)

    Untuk informasi selengkapnya tentang opsi ini, lihat Memulihkan Database (Halaman Opsi).

  8. Pilih opsi untuk kotak Status pemulihan . Kotak ini menentukan status database setelah operasi pemulihan.

    • RESTORE WITH RECOVERY adalah perilaku default yang membuat database siap digunakan dengan menggulung balik transaksi yang tidak dilakukan. Log transaksi tambahan tidak dapat dipulihkan. Pilih opsi ini jika Anda memulihkan semua cadangan yang diperlukan sekarang.

    • PULIHKAN DENGAN NORECOVERY yang membuat database tidak dapat dioperasikan, dan tidak mengembalikan transaksi yang belum diselesaikan. Log transaksi tambahan dapat dipulihkan. Database tidak dapat digunakan hingga dipulihkan.

    • RESTORE WITH STANDBY yang menempatkan database dalam mode hanya-baca. Ini membatalkan transaksi yang belum diselesaikan, tetapi menyimpan tindakan pembatalan dalam file siaga sehingga efek pemulihan dapat dibatalkan.

    Untuk deskripsi opsi, lihat Memulihkan Database (Halaman Opsi).

  9. Operasi pemulihan akan gagal jika ada koneksi aktif ke database. Centang opsi Tutup koneksi yang ada untuk memastikan bahwa semua koneksi aktif antara Management Studio dan database ditutup.

  10. Pilih Diminta persetujuan sebelum memulihkan setiap cadangan jika Anda ingin diminta persetujuan sebelum setiap operasi pemulihan. Ini biasanya tidak diperlukan kecuali database besar dan Anda ingin memantau status operasi pemulihan.

  11. Secara opsional, gunakan halaman File untuk memulihkan database ke lokasi baru. Untuk bantuan dalam memindahkan database, lihat Memulihkan Database ke Lokasi Baru (SQL Server).

  12. Pilih OK.

Menggunakan T-SQL

Untuk memulihkan cadangan database diferensial

  1. Jalankan pernyataan RESTORE DATABASE, yang menentukan klausul NORECOVERY, untuk memulihkan cadangan database lengkap yang datang sebelum cadangan database diferensial. Untuk informasi selengkapnya, lihat Cara: Memulihkan Pencadangan Penuh.

  2. Jalankan pernyataan RESTORE DATABASE untuk memulihkan cadangan database diferensial, menentukan:

    • Nama database tempat backup diferensial database diterapkan.

    • Perangkat cadangan di mana cadangan diferensial database dipulihkan.

    • Klausul NORECOVERY dapat digunakan jika Anda memiliki cadangan log transaksi yang harus diterapkan setelah cadangan basis data diferensial dipulihkan. Jika tidak, tentukan klausul RECOVERY.

  3. Dengan model pemulihan penuh atau pencatatan massal, memulihkan cadangan database diferensial akan mengembalikan database ke titik di mana pencadangan database diferensial tersebut selesai. Untuk memulihkan ke titik kegagalan, Anda harus menerapkan semua cadangan log transaksi yang dibuat setelah cadangan database diferensial terakhir dibuat. Untuk informasi selengkapnya, lihat Menerapkan Pencadangan Log Transaksi (SQL Server).

Contoh (Transact-SQL)

J. Memulihkan cadangan database diferensial

Contoh ini memulihkan cadangan database dan cadangan diferensial dari database MyAdvWorks.

-- Assume the database is lost, and restore full database,   
-- specifying the original full database backup and NORECOVERY,   
-- which allows subsequent restore operations to proceed.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH NORECOVERY;  
GO  
-- Now restore the differential database backup, the second backup on   
-- the MyAdvWorks_1 backup device.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH FILE = 2,  
   RECOVERY;  
GO  

B. Memulihkan database, database diferensial, dan pemulihan log transaksi

Contoh ini memulihkan cadangan database, database diferensial, dan log transaksi dari database MyAdvWorks.

-- Assume the database is lost at this point. Now restore the full   
-- database. Specify the original full database backup and NORECOVERY.  
-- NORECOVERY allows subsequent restore operations to proceed.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH NORECOVERY;  
GO  
-- Now restore the differential database backup, the second backup on   
-- the MyAdvWorks_1 backup device.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH FILE = 2,  
   NORECOVERY;  
GO  
-- Now restore each transaction log backup created after  
-- the differential database backup.  
RESTORE LOG MyAdvWorks  
   FROM MyAdvWorks_log1  
   WITH NORECOVERY;  
GO  
RESTORE LOG MyAdvWorks  
   FROM MyAdvWorks_log2  
   WITH RECOVERY;  
GO  

Tugas Terkait

Lihat Juga

Pencadangan Diferensial (SQL Server)
RESTORE (Transact-SQL)