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
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:
Untuk memulihkan cadangan database diferensial, gunakan:
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
Setelah Anda menyambungkan ke instans Mesin Database Microsoft SQL Server yang sesuai, di Object Explorer, klik nama server untuk memperluas pohon server.
Luaskan Database. Bergantung pada database, pilih database pengguna atau perluas Database Sistem, lalu pilih database sistem.
Klik kanan database, arahkan ke Tugas, arahkan ke Pulihkan, lalu klik Database.
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.
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).
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).
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).
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).
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.
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.
Secara opsional, gunakan halaman File untuk memulihkan database ke lokasi baru. Untuk bantuan dalam memindahkan database, lihat Memulihkan Database ke Lokasi Baru (SQL Server).
Pilih OK.
Menggunakan T-SQL
Untuk memulihkan cadangan database diferensial
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.
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.
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