Schreibfehler und -veto

Ein Writer kann aus zahlreichen programmgesteuerten Gründen fehlschlagen. In diesem Fall sollte ein Veto gegen den laufenden Sicherungs-, Wiederherstellungs- oder Schattenkopievorgang erfolgen, indem die CVssWriter::SetWriterFailure-Methode in einer ihrer Handlermethoden (z. B . CVssWriter::OnFreeze oder CVssWriter::OnPreRestore) aufgerufen und TRUE zurückgegeben wird. Optional kann es auch eine Fehlermeldungszeichenfolge als Reaktion auf eine Fehlerbedingung in bestimmten Handlermethoden mit den Methoden IVssComponentEx::SetPrepareForBackupFailureMsg, IVssComponentEx::SetPostSnapshotFailureMsg, IVssComponent::SetPreRestoreFailureMsg und IVssComponent::SetPostRestoreFailureMsg festlegen. Der Anforderer kann das Veto akzeptieren oder mit der Sicherung fortfahren, wobei das Veto ignoriert wird.

Ein Anforderer sollte die Writer-status (mit IVssBackupComponents::GatherWriterStatus und IVssBackupComponents::GetWriterStatus) nach jedem generierten Ereignis überprüfen.

In einigen Fällen können Fehlermeldungen aus diesen Fehlern abgerufen werden (mit IVssComponentEx::GetPrepareForBackupFailureMsg, Die Methoden IVssComponent::GetPreRestoreFailureMsg, IVssComponentEx::GetPostSnapshotFailureMsg und IVssComponent::GetPostRestoreFailureMsg ) oder ein Writer kann metadaten festlegen (mithilfe von IVssComponent::SetRestoreMetadata und IVssComponent::SetBackupMetadata mit Fehlerstatusinformationen). Beispielcode zum Anzeigen solcher Fehlermeldungen finden Sie unter IVssComponentEx::GetPrepareForBackupFailureMsg.

Abhängig vom Fehlerstatus kann ein Anforderer oder sein Operator die Sicherung und Schattenkopie mit jeder erforderlichen Änderung des Zustands des Sicherungsauftrags oder Systems neu starten.

Angenommen, GetWriterStatus hat Folgendes zurückgegeben:

  • VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT schlägt vor, dass ein Anforderer der Schattenkopie zusätzliche Volumes hinzufügen kann.

  • VSS_E_WRITERERROR_RETRYABLE gibt an, dass ein Erneutes Ausführen ohne Neukonfiguration funktionieren kann. Wenn der Writer den Fehler nach mehreren Wiederholungen weiterhin zurückgibt, versuchen Sie, den Dienst neu zu starten, der den Writer hostet. Die folgenden Writer werden im VSS-Dienst gehostet: Registry Writer, COM+ Class Registration Database Writer, Shadow Copy Optimization Writer und Automated System Recovery (ASR)-Writer. Wenn der Writer zu einer Anwendung gehört, die den Writer in einem eigenen Prozess hostet, versuchen Sie, die Anwendung neu zu starten.

    Windows Server 2003 und Windows XP: Die folgenden Writer werden im VSS-Dienst gehostet: Registry Writer, COM+-Klassenregistrierungsdatenbankwriter, Anwendungsereignisprotokoll-Writer und Microsoft SQL Server 2000 Desktop Engine (MSDE)-Writer.

  • VSS_E_WRITER_STATUS_NOT_AVAILABLE gibt an, dass ein Writer möglicherweise die maximale Anzahl der verfügbaren Sicherungs- und Wiederherstellungssitzungen erreicht hat, und dass wiederholungsversuche möglicherweise funktionieren, wenn das System weniger ausgelastet ist.

  • VSS_E_WRITERERROR_OUTOFRESOURCES oder VSS_E_WRITERERROR_TIMEOUT können darauf hindeuten, dass die Systemlast vor dem Wiederholen reduziert wird.

  • VSS_E_WRITERERROR_NONRETRYABLE oder VSS_E_WRITER_NOT_RESPONDING würde wahrscheinlich auf einen Schreibfehler hinweisen, der so schwerwiegend ist, dass verhindert wird, dass versucht wird, die Daten mit VSS zu sichern.

Je nachdem, welcher Writer und welche Komponenten sie generieren, ist es nicht immer erforderlich, dass eine Sicherungsanwendung nach einem Veto oder Einem Fehler abbricht.

Beispielsweise kann ein Anforderer entscheiden, dass die Absicht der Schattenkopie darin besteht, Anwendung A zu sichern, und dass das Veto vom Writer für Sicherungsanwendung B empfangen wurde. In diesem Fall ist es durchaus akzeptabel, anwendung A weiterhin zu sichern, während das Veto ignoriert wird.

Im Folgenden sind Beispiele für ein Writer-Veto aufgeführt:

  • Der Writer legt ein Veto gegen den Erstellungsprozess der Schattenkopie ein, wenn er seine Aktivitäten während der Erstellung der Schattenkopie nicht anhalten konnte. Dies weist darauf hin, dass die Schattenkopie mit hoher Wahrscheinlichkeit ungültig ist, da während des Zustands Freeze ein Schreibvorgang aufgetreten ist.
  • Eine Sicherungsanwendung hat nur eine Schattenkopie von Volume C: angefordert, und ein Writer bestimmt, dass eine Schattenkopie von C: und D: die Daten sichern soll. In diesem Fall wird der Schreiber ein Veto einwenden. Die Sicherungsanwendung kann die Metadaten untersuchen und bestimmen, ob der Writer ignoriert wird oder der Erstellungsprozess für schattenkopierte Kopien abgebrochen und später neu gestartet wird.