Gambaran Umum Inisialisasi Pencadangan

Tahap pencadangan ini menginisialisasi penulis dan pemohon, mengisi struktur data internal mereka, menentukan pencadangan dan membuat komunikasi penulis/pemohon melalui panggilan yang diperlukan ke IVssBackupComponents::GatherWriterMetadata. Untuk informasi selengkapnya, lihat Gambaran Umum Pemrosesan Cadangan Di bawah VSS.

Tabel berikut ini memperlihatkan urutan tindakan dan peristiwa yang diperlukan untuk inisialisasi cadangan.

Tindakan pemohon Kejadian Tindakan penulis
Membuat antarmuka IVssBackupComponents dan menginisialisasinya untuk mengelola cadangan (lihat CreateVssBackupComponents, IVssBackupComponents::InitializeForBackup) dan secara opsional mengaktifkan atau menonaktifkan penulis pada sistem. Tidak ada Tidak ada
Secara opsional atur konteks untuk operasi salinan bayangan dan secara opsional mengkueri sistem tentang penyedia dan salinan bayangan yang didukungnya (lihat IVssBackupComponents::SetContext, IVssBackupComponents::Query). Tidak ada Tidak ada
Pemohon dapat memberikan informasi tambahan tentang menangani operasi pencadangan dan pemulihan (lihat IVssBackupComponents::SetBackupState) Tidak ada Tidak ada
Memulai kontak asinkron dengan penulis (lihat IVssBackupComponents::GatherWriterMetadata) Identifikasi Membuat Dokumen Metadata Penulis (lihat Bekerja dengan Dokumen Metadata Penulis, CVssWriter::OnIdentify, IVssCreateWriterMetadata)

 

Tindakan Pemohon selama Inisialisasi Pencadangan

Objek IVssBackupComponents hanya dapat digunakan untuk satu cadangan. Oleh karena itu, pemohon harus melanjutkan hingga akhir cadangan, termasuk merilis antarmuka IVssBackupComponents . Jika cadangan perlu dihentikan sebelum waktunya, pemohon perlu memanggil IVssBackupComponents::AbortBackup lalu merilis objek IVssBackupComponents (lihat Membatalkan Operasi VSS untuk informasi selengkapnya). Jangan mencoba melanjutkan antarmuka IVssBackupComponents .

Biasanya, Dokumen Komponen Cadangan pemohon diinisialisasi sebagai kosong. Dokumen Komponen Cadangan yang disimpan dapat dimuat saat IVssBackupComponents::InitializeForBackup dipanggil, biasanya untuk mendukung volume salinan bayangan yang dapat diangkut. Dalam hal ini, komunikasi pemohon penulis akan agak berbeda dari apa yang dijelaskan di bawah ini. (Lihat Mengimpor Volume Salinan Bayangan yang Dapat Diangkut untuk informasi selengkapnya.)

Untuk menambahkan volume ke set salinan bayangan, pemohon harus terlebih dahulu mengatur konteks untuk operasi salinan bayangan dengan memanggil IVssBackupComponents::SetContext. Jika metode ini tidak dipanggil, konteks default untuk salinan bayangan, VSS_CTX_BACKUP, digunakan. Untuk informasi tentang mengatur konteks salinan bayangan, lihat Konfigurasi Konteks Salinan Bayangan.

Untuk memulai penyelesaian penyiapannya sebelum pencadangan, pemohon harus memanggil IVssBackupComponents::SetBackupState. Dengan melakukan ini, pemohon menunjukkan kepada penulis:

  • Jenis cadangan (seperti yang didefinisikan dalam VSS_BACKUP_TYPE)
  • Apakah cadangan menyertakan status sistem yang dapat di-boot
  • Apakah pemohon mendukung pemilihan komponen individual atau mencadangkan seluruh volume.

Semua pemohon yang berpartisipasi dalam operasi pencadangan dan pemulihan harus selalu memanggil IVssBackupComponents::GatherWriterMetadata. Metode ini memulai komunikasi writer-requester dengan menghasilkan peristiwa VSS Identifi , sebagai respons penulis membuat dokumen metadatanya.

Sebelum memanggil IVssBackupComponents::GatherWriterMetadata, pemohon memiliki kesempatan untuk secara eksplisit mengaktifkan atau menonaktifkan kelas penulis dan penulis tertentu menggunakan IVssBackupComponents::EnableWriterClasses, IVssBackupComponents::D isableWriterInstances, dan IVssBackupComponents::D isableWriterClasses (secara default, semua kelas diaktifkan). Setelah IVssBackupComponents::GatherWriterMetadata dipanggil, panggilan ini tidak berpengaruh.

Karena tidak ada cara untuk mendapatkan daftar penulis pada sistem sebelum memanggil IVssBackupComponents::GatherWriterMetadata, pemohon dapat mempertimbangkan untuk membuat dan kemudian menghapus instans kedua IVssBackupComponents untuk mendapatkan daftar.

Tidak perlu memanggil IVssBackupComponents::GatherWriterStatus setelah penyelesaian IVssBackupComponents::GatherWriterMetadata. Penulis yang gagal memproses peristiwa Identifikasi yang dihasilkan oleh panggilan tidak akan menjadi bagian dari daftar penulis yang menyediakan metadata yang ditemukan oleh IVssBackupComponents::GetWriterMetadataCount dan IVssBackupComponents::GetWriterMetadata (lihat Menentukan Status Penulis).

Tindakan Penulis selama Inisialisasi Pencadangan

Menanggapi peristiwa Identifikasi, VSS memanggil metode handler virtual setiap penulis, CVssWriter::OnIdentify. Penulis membuat Dokumen Metadata Penulisnya dengan menimpa implementasi default CVssWriter::OnIdentify dan menggunakan antarmuka IVssCreateWriterMetadata .

Perhatikan bahwa aplikasi selain pemohon saat ini (misalnya, aplikasi sistem) dapat menghasilkan peristiwa Identifikasi yang harus ditangani oleh penulis. Selain itu, tidak ada cara bagi penulis untuk menentukan dari dalam CVssWriter::OnIdentify aplikasi mana yang telah menghasilkan peristiwa Identifikasi.

Hal ini terjadi, mengingat bahwa penulis dapat menerima beberapa peristiwa Identifikasi saat memproses operasi pencadangan, penulis tidak boleh mengatur informasi status di CVssWriter::OnIdentify handler.

Sebaliknya, CVssWriter::OnIdentify harus melakukan algoritma yang konsisten untuk membuat Dokumen Metadata Penulis penulis, terutama karena setelah penulis membuat dokumen, pemohon maupun penulis tidak dapat memodifikasinya. Dari titik ini ke depan, ini adalah dokumen baca-saja.

Ini berarti bahwa jumlah dan jenis komponen yang terkait dengan penulis, file mana yang merupakan bagian dari setiap komponen, dan pengecualian eksplisit file dari operasi pencadangan atau pemulihan tidak dapat diubah setelah penulis kembali dari memproses peristiwa Identifikasi.

Semua penulis yang berpartisipasi dengan VSS diharuskan melakukan hal berikut:

  1. Menunjukkan metode pemulihan untuk semua komponen yang dikelola oleh penulis menggunakan IVssCreateWriterMetadata::SetRestoreMethod.
  2. Tambahkan setidaknya satu komponen menggunakan IVssCreateWriterMetadata::AddComponent (lihat Definisi Komponen oleh Penulis untuk informasi selengkapnya tentang spesifikasi komponen).

Penulis menunjukkan file untuk berpartisipasi dalam operasi pencadangan atau pemulihan dengan menambahkan set file—kombinasi jalur, spesifikasi file, dan bendera rekursi—ke komponen tertentu menggunakan IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles, atau IVssCreateWriterMetadata::AddDatabaseLogFiles, bergantung pada jenis (Lihat Menambahkan File ke Komponen.)

Penulis mungkin juga memiliki satu atau beberapa komponen kosong, komponen yang tidak ada file yang ditambahkan. Ini sangat berguna dalam mengatur komponen penulis. (Lihat Jalur Logis Komponen.)

Penulis menggunakan IVssCreateWriterMetadata::AddExcludeFiles untuk secara eksplisit mencegah file disertakan dalam cadangan. Pengecualian eksplisit ini berguna karena karakter kartubebas dapat digunakan untuk menentukan file untuk dimasukkan (lihat Mengecualikan Spesifikasi Daftar File). Perhatikan bahwa daftar file pengecualian lebih diutamakan daripada daftar file komponen.

IVssCreateWriterMetadata::AddAlternateLocationMapping digunakan untuk membuat pemetaan lokasi alternatif untuk kumpulan file tertentu yang telah ditambahkan ke salah satu komponen penulis. Pemetaan ini digunakan selama pemulihan file saat memulihkan ke lokasi asli file tidak dimungkinkan atau diinginkan. (Lihat Gambaran Umum Pemulihan File Aktual dan Lokasi Pencadangan dan Pemulihan Non-Default.)

Karena kumpulan file cadangan ditentukan dalam Dokumen Metadata Penulis, kumpulan file tersebut tidak dapat dimodifikasi nanti. Oleh karena itu, penulis harus dikodekan sehingga definisi set file akan menyertakan semua file yang diperlukan dalam cadangan, baik berdasarkan nama atau melalui karakter kartubebas. Sementara itu, ini mungkin termasuk beberapa file yang mungkin dibuat setelah peristiwa Identifikasi.