Erros e vetos do gravador
Um gravador pode falhar por vários motivos programáticos. Quando isso acontece, ele deve vetar a operação de backup, restauração ou cópia de sombra em andamento chamando o método CVssWriter::SetWriterFailure em um de seus métodos de manipulador (por exemplo, CVssWriter::OnFreeze ou CVssWriter::OnPreRestore) e retornando TRUE. Opcionalmente, ele também pode definir uma cadeia de caracteres de mensagem de erro em resposta a uma condição de falha em determinados métodos de manipulador com os métodos IVssComponentEx::SetPrepareForBackupFailureMsg, IVssComponentEx::SetPostSnapshotFailureMsg, IVssComponent::SetPreRestoreFailureMsg e IVssComponent::SetPostRestoreFailureMsg . O solicitante pode aceitar o veto ou continuar com o backup, ignorando o veto.
Um solicitante deve marcar o gravador status (usando IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus) após cada evento gerado.
Em alguns casos, as mensagens de erro podem ser recuperadas dessas falhas (usando iVssComponentEx::GetPrepareForBackupFailureMsg, IVssComponent::GetPreRestoreFailureMsg, IVssComponentEx::GetPostSnapshotFailureMsg e IVssComponent::GetPostRestoreFailureMsg ) ou um gravador pode optar por definir metadados (usando IVssComponent::SetRestoreMetadata e IVssComponent::SetBackupMetadata com informações de estado de erro). Por exemplo, código que mostra como exibir essas mensagens de erro, consulte IVssComponentEx::GetPrepareForBackupFailureMsg.
Dependendo do estado de erro, um solicitante ou seu operador pode reiniciar o backup e a cópia de sombra com qualquer modificação necessária no estado do trabalho ou do sistema de backup.
Por exemplo, suponha que GetWriterStatus retornou o seguinte:
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT sugere que um solicitante pode adicionar volumes adicionais à cópia de sombra
VSS_E_WRITERERROR_RETRYABLE indica que a repetição sem reconfiguração pode funcionar. Se o gravador continuar a retornar o erro após várias tentativas, tente reiniciar o serviço que hospeda o gravador. Os seguintes gravadores são hospedados no serviço VSS: gravador de registro, gravador de banco de dados de registro de classe COM+, gravador de otimização de cópia de sombra e gravador de ASR (Recuperação Automatizada do Sistema). Se o gravador pertencer a um aplicativo que hospeda o gravador em seu próprio processo, tente reiniciar o aplicativo.
Windows Server 2003 e Windows XP: Os seguintes gravadores são hospedados no serviço VSS: gravador de registro, gravador de banco de dados de registro de classe COM+, gravador de log de eventos de aplicativo e gravador do MsDE (Mecanismo de Área de Trabalho) do Microsoft SQL Server 2000.
VSS_E_WRITER_STATUS_NOT_AVAILABLE indica que um gravador pode ter atingido o número máximo de sessões de backup e restauração disponíveis e a repetição pode funcionar quando o sistema estiver menos ocupado.
VSS_E_WRITERERROR_OUTOFRESOURCES ou VSS_E_WRITERERROR_TIMEOUT pode sugerir que a carga do sistema seja reduzida antes de tentar novamente
VSS_E_WRITERERROR_NONRETRYABLE ou VSS_E_WRITER_NOT_RESPONDING provavelmente indicaria um erro de gravador tão grave a ponto de impedir a tentativa de fazer backup de seus dados com o VSS.
Dependendo de qual gravador e quais componentes os geram, nem sempre é necessário que um aplicativo de backup anule após um veto ou erro.
Por exemplo, um solicitante pode decidir que a intenção da cópia de sombra é fazer backup do aplicativo A e o veto foi recebido do gravador para o aplicativo de backup B. Nesse caso, é perfeitamente aceitável continuar a fazer backup do aplicativo A, ignorando o veto.
Veja a seguir exemplos de um veto de gravador:
- O gravador veta o processo de criação de cópia de sombra quando não pôde suspender suas atividades durante o tempo em que a cópia de sombra estava sendo criada. Isso indica que há uma alta probabilidade de que a cópia de sombra não seja válida porque ocorreu uma operação de gravação durante o estado Congelar.
- Um aplicativo de backup solicitou uma cópia de sombra somente do volume C: e um gravador determina que uma cópia de sombra de C: e D: é fazer backup de seus dados. Neste caso, o escritor vetará. O aplicativo de backup pode examinar os metadados e determinar se o gravador será ignorado ou se o processo de criação da cópia de sombra será anulado e reiniciado posteriormente.