Bagikan melalui


Kesalahan penulis dan Vetoes

Seorang penulis dapat gagal karena berbagai alasan terprogram. Ketika ini terjadi, itu harus melakukan veto operasi pencadangan, pemulihan, atau salinan bayangan yang sedang berlangsung dengan memanggil metode CVssWriter::SetWriterFailure dalam salah satu metode handler-nya (misalnya, CVssWriter::OnFreeze atau CVssWriter::OnPreRestore) dan mengembalikan TRUE. Ini juga dapat secara opsional mengatur string pesan kesalahan sebagai respons terhadap kondisi kegagalan dalam metode handler tertentu dengan IVssComponentEx::SetPrepareForBackupFailureMsg, IVssComponentEx::SetPostSnapshotFailureMsg, IVssComponent::SetPreRestoreFailureMsg, dan metode IVssComponent::SetPostRestoreFailureMsg . Pemohon dapat menerima veto atau melanjutkan pencadangan, mengabaikan veto.

Pemohon harus memeriksa status penulis (menggunakan IVssBackupComponents::GatherWriterStatus dan IVssBackupComponents::GetWriterStatus) mengikuti setiap peristiwa yang dihasilkannya.

Dalam beberapa kasus, pesan kesalahan dapat diambil dari kegagalan ini (menggunakan IVssComponentEx::GetPrepareForBackupFailureMsg, IVssComponent::GetPreRestoreFailureMsg, IVssComponentEx::GetPostSnapshotFailureMsg, dan metode IVssComponent::GetPostRestoreFailureMsg ), atau penulis dapat memilih untuk mengatur metadata (menggunakan IVssComponent::SetRestoreMetadata dan IVssComponent::SetBackupMetadata dengan informasi status kesalahan). Misalnya kode yang menunjukkan cara melihat pesan kesalahan tersebut, lihat IVssComponentEx::GetPrepareForBackupFailureMsg.

Tergantung pada status kesalahan, pemohon atau operatornya dapat memulai ulang cadangan dan salinan bayangan dengan modifikasi yang diperlukan pada status pekerjaan atau sistem cadangan.

Misalnya, GetWriterStatus mengembalikan hal berikut:

  • VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT menyarankan bahwa pemohon mungkin menambahkan volume tambahan ke salinan bayangan

  • VSS_E_WRITERERROR_RETRYABLE menunjukkan bahwa mencoba kembali tanpa konfigurasi ulang mungkin berfungsi. Jika penulis terus mengembalikan kesalahan setelah beberapa kali mencoba kembali, coba mulai ulang layanan yang menghosting penulis. Penulis berikut dihosting di layanan VSS: penulis registri, penulis database pendaftaran kelas COM+, penulis pengoptimalan salinan bayangan, dan penulis Pemulihan Sistem Otomatis (ASR). Jika penulis milik aplikasi yang menghosting penulis dalam prosesnya sendiri, coba mulai ulang aplikasi.

    Windows Server 2003 dan Windows XP: Penulis berikut dihosting di layanan VSS: penulis registri, penulis database pendaftaran kelas COM+, penulis log peristiwa aplikasi, dan penulis Microsoft SQL Server 2000 Desktop Engine (MSDE).

  • VSS_E_WRITER_STATUS_NOT_AVAILABLE menunjukkan bahwa penulis mungkin telah mencapai jumlah maksimum sesi pencadangan dan pemulihan yang tersedia, dan mencoba kembali mungkin berfungsi ketika sistem kurang sibuk.

  • VSS_E_WRITERERROR_OUTOFRESOURCES atau VSS_E_WRITERERROR_TIMEOUT mungkin menyarankan agar beban sistem dikurangi sebelum mencoba kembali

  • VSS_E_WRITERERROR_NONRETRYABLE atau VSS_E_WRITER_NOT_RESPONDING kemungkinan akan menunjukkan kesalahan penulis yang sangat parah untuk menghalangi mencoba mencadangkan datanya dengan VSS.

Tergantung pada penulis mana dan komponen mana yang menghasilkannya, aplikasi cadangan tidak selalu perlu dibatalkan setelah veto atau kesalahan.

Misalnya, pemohon dapat memutuskan bahwa niat salinan bayangan adalah untuk mencadangkan aplikasi A dan veto telah diterima dari penulis untuk aplikasi cadangan B. Dalam hal ini, sangat dapat diterima untuk terus mencadangkan aplikasi A sambil mengabaikan veto.

Berikut ini adalah contoh veto penulis:

  • Penulis melakukan veto pada proses pembuatan salinan bayangan ketika tidak dapat menangguhkan aktivitasnya selama salinan bayangan sedang dibuat. Ini menunjukkan bahwa ada kemungkinan besar bahwa salinan bayangan tidak valid karena operasi tulis telah terjadi selama status Bekukan.
  • Aplikasi cadangan telah meminta salinan bayangan hanya volume C: dan penulis menentukan bahwa salinan bayangan C: dan D: adalah untuk mencadangkan datanya. Dalam hal ini, penulis akan melakukan veto. Aplikasi cadangan dapat memeriksa metadata dan menentukan apakah penulis akan diabaikan atau proses pembuatan salinan bayangan akan dibatalkan dan kemudian dimulai ulang.