Visão geral da limpeza e encerramento da restauração
Após uma restauração, os gravadores marcar o status da operação para que possam usar os dados restaurados e lidar com erros. O solicitante deve aguardar a conclusão dessa atividade. Para obter mais informações, consulte Visão geral do processamento de uma restauração no VSS.
A tabela a seguir mostra a sequência de ações e eventos necessários após a operação de restauração.
Ação do solicitante | Evento | Ação do gravador |
---|---|---|
O solicitante indica o fim da restauração (consulte IVssBackupComponents::P ostRestore). | PostRestore | O gravador realiza a limpeza pós-restauração e lida com falhas de restauração e arquivos que foram restaurados para locais não padrão (consulte CVssWriter::OnPostRestore, IVssComponent). |
O solicitante aguarda os gravadores para manipular o evento PostRestore com IVssAsync. Ele também deve verificar status de gravador (consulte IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). | Nenhum | Nenhum |
O solicitante libera a interface IVssBackupComponents . | Nenhum | Nenhum |
Ações do solicitante durante a limpeza e o encerramento
Neste ponto, um solicitante indica o fim de suas atividades de restauração de arquivo gerando um evento PostRestore chamando IVssBackupComponents::P ostRestore.
As ações do solicitante estão limitadas a aguardar os gravadores, que podem precisar executar alguns erros finais de limpeza e de restauração e liberar a interface IVssBackupComponents depois que todos os gravadores retornarem do tratamento do evento PostRestore .
Ações do gravador durante a limpeza e o encerramento
O evento PostRestore é tratado pelo método virtual CVssWriter::OnPostRestore. A implementação padrão simplesmente retorna true sem executar nenhuma ação. Se um gravador precisar exercer mais controle da situação pós-restauração, ele poderá substituir esse método.
Além de qualquer limpeza normal (como a remoção de arquivos temporários) que um gravador pode executar em CVssWriter::OnPostRestore, ele pode lidar com o êxito ou a falha das operações de restauração.
Como ele lida com erros de restauração, arquivos restaurados para um local alternativo e a necessidade de restaurações futuras ficam completamente a critério do gravador. As ações típicas podem incluir comparar arquivos em locais alternativos ou novos com arquivos atualmente em uso, mesclar dados de vários arquivos ou iniciar novas sessões conectadas aos novos arquivos de dados. O VSS fornece os seguintes mecanismos para dar suporte a isso em uma base componente por componente:
- Êxito ou falha na restauração de qualquer componente pode ser encontrado com IVssComponent::GetFileRestoreStatus.
- O uso de mapeamentos de localização alternativos na restauração de arquivos será indicado por IVssComponent::GetAlternateLocationMapping.
- Determinar se uma restauração é incremental e exigirá restaurações adicionais é feito chamando IVssComponent::GetAdditionalRestores. Os gravadores que precisam de uma restauração completa de seus dados não devem ser reiniciados até que esse método retorne false.
- Os gravadores podem determinar se o solicitante precisou restaurar arquivos para um local não especificado anteriormente usando IVssComponent::GetNewTargetCount e IVssComponent::GetNewTarget
(Para obter mais informações sobre como restaurar arquivos em locais não padrão, consulte Locais de backup e restauração não padrão.)
Assim como acontece com qualquer método IVssComponent , as informações retornadas por uma determinada instância se aplicam a esses componentes explicitamente incluídos para backup e qualquer um de seus implicitamente incluídos para subcomponentes de backup, incluindo os subcomponentes explicitamente incluídos para restauração pelo solicitante usando IVssBackupComponents::AddRestoreSubcomponent (consulte Trabalhando com selebilidade para restauração e subcomponentes para obter detalhes).
Como os gravadores exigirão acesso ao Documento de Componentes de Backup, é importante que o solicitante não libere a interface IVssBackupComponents até que os gravadores tenham terminado o processamento.