Bagikan melalui


Gambaran Umum Persiapan Pemulihan

Dalam mempersiapkan pemulihan, pemohon menggunakan Dokumen Metadata Penulis yang disimpan bersama dengan Dokumen Komponen Cadangan yang diambil sendiri untuk menentukan apa yang akan dipulihkan dan bagaimana. Untuk informasi selengkapnya, lihat Gambaran Umum Pemrosesan Pemulihan di bawah VSS.

Setelah pemilihan komponen kandidat pemulihan, penulis yang saat ini berjalan pada sistem mengakses Dokumen Komponen Cadangan pemohon. Penulis menggunakan akses ini untuk menunjukkan cara menyebabkan kesulitan minimum untuk menjalankan layanan karena pemulihan.

Setelah ini selesai, pemohon memiliki informasi yang cukup untuk menentukan file mana yang perlu dipulihkan, serta di mana dan bagaimana file tersebut harus dipulihkan. (Untuk informasi selengkapnya, lihat Membuat Kumpulan Pemulihan.)

Tabel berikut ini memperlihatkan urutan tindakan dan peristiwa yang diperlukan untuk mempersiapkan operasi pemulihan.

Tindakan pemohon Kejadian Tindakan penulis
Ambil informasi dari Dokumen Komponen Cadangan tentang komponen yang secara eksplisit disertakan dalam operasi pencadangan (lihat IVssBackupComponents::GetWriterComponents) Periksa Dokumen Metadata Penulis yang diambil untuk mendapatkan detail tentang komponen tersebut yang secara eksplisit disertakan dalam cadangan, dan setiap menemukan subkomponen yang disertakan secara implisit . (Lihat IVssExamineWriterMetadata, IVssWMComponent.)
Tidak ada Tidak ada
Pilih komponen dan set komponen yang akan dipulihkan (lihat IVssBackupComponents::SetSelectedForRestore dan IVssBackupComponents::AddRestoreSubcomponent.) Tidak ada Tidak ada
Pemohon memungkinkan penulis untuk memperbarui Dokumen Komponen Cadangan dan dapat secara opsional mengomunikasikan opsi pemulihan khusus kepada penulis. (Lihat IVssBackupComponents::SetRestoreOptions, IVssBackupComponents::AddNewTarget, dan IVssBackupComponents::P reRestore.) PreRestore Penulis menentukan partisipasi dalam pemulihan, menyiapkan file untuk dipulihkan, dan secara opsional memodifikasi Dokumen Komponen Cadangan jika perlu. (Lihat CVssWriter::OnPreRestore, IVssComponent, IVssComponent::IsSelectedForRestore, IVssComponent::GetRestoreOptions, IVssComponent::SetRestoreTarget, IVssComponent::SetRestoreMetadata, IVssComponent::AddDirectedTarget.)
Pemohon menunggu penulis untuk menangani peristiwa PreRestore dengan IVssAsync. Ini juga harus memverifikasi status penulis. (Lihat IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus.) Tidak ada Tidak ada

 

Tindakan Pemohon selama Persiapan Pemulihan

Untuk menentukan komponen mana yang merupakan kandidat untuk dipulihkan, pemohon harus melakukan hal berikut:

Untuk melakukan ini, pemohon perlu memeriksa komponen yang disertakan secara eksplisit dalam Dokumen Komponen Cadangan yang disimpan. Informasi komponen ini tersedia berdasarkan penulis demi penulis menggunakan IVssBackupComponents::GetWriterComponents, yang mengembalikan instans antarmuka IVssWriterComponentsExt , tempat informasi penulis dan instans antarmuka IVssComponent dapat diambil.

Seperti yang dicatat di tempat lain (Penggunaan Komponen oleh Pemohon), Dokumen Komponen Cadangan dan antarmuka IVssComponent tidak berisi informasi yang cukup untuk mendukung cadangan. Oleh karena itu, pemohon harus memeriksa Dokumen Metadata Penulis yang disimpan yang sesuai dengan menggunakan IVssExamineWriterMetadata (lihat Informasi Identifikasi Penulis).

Jumlah komponen yang dikelola setiap penulis dikembalikan oleh IVssExamineWriterMetadata::GetFileCounts. Pemohon kemudian dapat menggunakan IVssExamineWriterMetadata::GetComponent untuk mendapatkan antarmuka IVssWMComponent untuk setiap komponen yang dikelola penulis.

Dengan memeriksa keterpilihan komponen untuk jalur cadangan dan logis (lihat Bekerja dengan Jalur Pemilihan dan Logis), pemohon dapat mengidentifikasi komponen yang menentukan set komponen waktu pencadangan (komponen yang disertakan secara eksplisit), dan anggota subkomponen dari set tersebut (komponen yang disertakan secara implisit).

Pemohon menunjukkan melalui Dokumen Komponen Cadangan jika komponen akan dipulihkan secara eksplisit, menggunakan IVssBackupComponents::SetSelectedForRestore atau IVssBackupComponents::AddRestoreSubcomponent. Pilihan metode akan tergantung pada bagaimana komponen awalnya dicadangkan dan keterpilihannya untuk pemulihan. Komponen-komponen ini secara eksplisit disertakan untuk memulihkan menunjuk komponen lain yang secara implisit disertakan (lihat Bekerja dengan Keterpilihan untuk Pemulihan dan Subkomponen untuk detailnya).

Pemohon mungkin secara eksplisit tidak menyertakan komponen penulis yang saat ini menjalankan untuk pemulihan menggunakan IVssBackupComponents::SetSelectedForRestore atau IVssBackupComponents::AddRestoreSubcomponent. Dalam hal ini, penulis tersebut tidak akan menerima peristiwa VSS apa pun selama sisa operasi pemulihan.

Secara eksplisit menggunakan IVssBackupComponents::SetSelectedForRestore atau IVssBackupComponents::AddRestoreSubcomponent untuk memilih komponen penulis yang saat ini tidak berjalan mengembalikan kesalahan VSS_E_OBJECT_NOT_FOUND. Lihat Memulihkan tanpa Partisipasi Penulis untuk informasi tentang memulihkan data penulis yang hilang.

Untuk memungkinkan penulis memiliki informasi lengkap untuk bertindak, opsi pemulihan khusus penulis dan indikasi pemulihan bertambah bertahap dapat dikirim ke penulis dengan panggilan pemohon ke IVssBackupComponents::SetRestoreOptions dan IVssBackupComponents::SetAdditionalRestores, masing-masing.

Pada titik ini, pemohon telah menyelesaikan persiapannya, dan menghasilkan peristiwa PreRestore dengan memanggil IVssBackupComponents::P reRestore, yang memungkinkan penulis mempersiapkan pemulihan yang sebenarnya.

Tindakan Penulis selama Persiapan Pemulihan

Persiapan penulis untuk operasi pemulihan terjadi saat menangani peristiwa PreRestore dengan metode virtual CVssWriter::OnPreRestore. Implementasi default hanya kembali tanpa mengambil tindakan apa pun. Penulis dapat memilih untuk mengambil alih implementasi default untuk menjalankan lebih banyak kontrol dengan:

Penanganan aktivitas CVssWriter::OnPreRestore menerima instans IVssWriterComponents, dari mana ia dapat memperoleh antarmuka IVssComponent untuk komponennya yang secara eksplisit disertakan dalam Dokumen Komponen Cadangan selama pencadangan.

Informasi tentang subkomponen yang secara implisit disertakan dalam operasi pencadangan dan secara eksplisit disertakan dalam pemulihan dengan menggunakan instans IVssComponent yang sesuai dengan komponen yang menentukan kumpulan komponen cadangannya.

Metode IVssComponent::IsSelectedForRestore digunakan untuk menentukan apakah komponen cadangan yang disertakan secara eksplisit akan dipulihkan.

Untuk menentukan apakah subkomponen cadangan secara eksplisit disertakan dalam pemulihan, penulis menggunakan IVssComponent::GetRestoreSubcomponent.

Penulis harus memeriksa file yang diatur di setiap komponen dan menentukan apakah perlu mengambil tindakan untuk mendukung pemulihan. Penulis perlu mengevaluasi apakah ingin filenya saat ini ditimpa, atau jika akan memerlukan pemulihan ke lokasi baru. Tindakan dapat mencakup hal-hal berikut:

Instans IVssComponent yang digunakan akan dibuat oleh penyertaan eksplisit komponen dalam Dokumen Komponen Cadangan selama pencadangan, atau komponen yang menentukan kumpulan komponen cadangan yang merupakan anggotanya (lihat Bekerja dengan Keterpilihan Untuk Pemulihan dan Subkomponen).