Compartilhar via


Restaurando backups incrementais e diferenciais

Restaurar um backup incremental ou diferencial no VSS não é significativamente diferente de qualquer outra operação de restauração do VSS.

Um gravador pode modificar destinos de restauração ou solicitar direcionamento direcionado, e um solicitante deve lidar com mapeamentos de localização alternativos e novos destinos, assim como com qualquer outra restauração. No entanto, há dois problemas significativos a serem considerados na restauração de um backup incremental ou diferencial: restaurações adicionais e selos de backup.

Restaurações adicionais

O primeiro problema é o de restaurações adicionais. Um operador de backup pode precisar executar várias operações de restauração usando uma mídia de backup incremental ou diferencial inicial completa e subsequente como fonte.

Alguns gravadores, normalmente como parte de sua manipulação de um evento PostRestore usando CVssWriter::OnPostRestore, usam arquivos restaurados para executar atualizações de dados atualmente em disco. Para alguns desses gravadores, é ineficiente ou perigoso atualizar repetidamente dados em disco de arquivos restaurados.

Portanto, é importante que os aplicativos de backup indiquem quando um componente ou conjunto de componentes pode exigir restaurações subsequentes chamando IVssBackupComponents::SetAdditionalRestores.

Um gravador chamaria IVssComponent::GetAdditionalRestores para determinar se o operador de backup planejou mais restaurações do componente ou do conjunto de componentes.

Se o solicitante não tiver chamado IVssBackupComponents::SetAdditionalRestores, iVssComponent::GetAdditionalRestores retornará false e o gravador poderá executar qualquer processamento pós-restauração necessário.

Se IVssBackupComponents::SetAdditionalRestores tiver sido chamado, iVssComponent::GetAdditionalRestores retornará true e um gravador deverá decidir como lidar com operações pós-restauração, por exemplo, o gravador pode optar por não atualizar seus dados em disco.

Selos de Backup

Como parte da operação de backup completa anterior, um gravador pode ter armazenado um carimbo de backup no documento de componentes de Backup do solicitante.

O carimbo de backup é armazenado como uma cadeia de caracteres e seu formato e informações não são inteligíveis para o solicitante. Portanto, o solicitante não pode fazer uso direto das informações do selo de backup.

Em vez disso, sua tarefa é disponibilizar essas informações para o gravador, chamando o método IVssBackupComponents::SetPreviousBackupStamp antes da geração de um evento PrepareForBackup para um backup incremental.

O solicitante faz isso em uma base componente por componente. Um solicitante examina as informações de carimbo de backup do componente armazenado ou do conjunto de componentes usando IVssComponent::GetBackupStamp.

Se as informações de carimbo de backup forem apropriadas para o tipo de restauração que o solicitante está realizando, elas ficarão disponíveis como o carimbo de data/hora do último backup de um componente com o método IVssBackupComponents::SetPreviousBackupStamp .

Um gravador recupera as informações de carimbo de backup usando IVssComponent::GetPreviousBackupStamp. Um gravador dessa classe gerou o carimbo de backup inicial para que o gravador possa decodificar esse carimbo e usar as informações. Com base nisso, durante a manipulação de um evento PreRestore , um gravador pode optar por executar ações como alterar destinos de restauração ou solicitar direcionamento direcionado.