Suporte ao esquema de backup do gravador
Para implementar totalmente um backup, é necessário a participação dos gravadores do sistema. Diferentes tipos de backups com suporte são conhecidos como esquemas e são indicados por uma máscara de bits (ou OR bit a bit) de membros da enumeração VSS_BACKUP_SCHEMA . Os esquemas válidos com suporte no momento incluem o seguinte:
Esquema Padrão: Completo (VSS_BS_UNDEFINED)— indica que um gravador dá suporte a um backup em que todos os arquivos serão copiados em backup, independentemente da data de último backup. O histórico de backup de cada arquivo pode ser atualizado pelo solicitante e os gravadores que dão suporte ao valor de enumeração VSS_BS_TIMESTAMPED, ele armazenará um carimbo de data/hora atualizado com o solicitante. Esse esquema de backup pode ser usado como base de um backup incremental ou diferencial.
Restaurar um backup completo requer apenas uma única imagem de backup.
Copiar Backup (VSS_BS_COPY)— como o esquema de backup VSS_BS_FULL, indica que um gravador dá suporte a um backup em que todos os arquivos serão copiados em backup, independentemente da última data de backup. No entanto, o histórico de backup de cada arquivo não será atualizado pelo solicitante ou pelo gravador e esse tipo de backup não pode ser usado como base de um backup incremental ou diferencial.
Arquivo de log (VSS_BS_LOG)— somente os arquivos de log de um gravador devem ser copiados em backup. Isso exige que um gravador tenha adicionado pelo menos um arquivo a pelo menos um componente usando o método IVssCreateWriterMetadata::AddDatabaseLogFiles . Esse tipo de backup é específico do VSS.
Locais de Restauração Personalizados (VSS_BS_WRITER_SUPPORTS_NEW_TARGET)— indica o suporte do gravador para uma alteração do solicitante, no momento da restauração, em que seus arquivos são restaurados. Isso significa que um gravador foi codificado para marcar para essa realocação (usando IVssComponent::GetNewTarget) e tem a capacidade de trabalhar com arquivos realocados.
Restaurar com Move (VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE)— indica que o gravador dá suporte à execução de várias instâncias de gravador com a mesma ID de classe e dá suporte a um solicitante movendo um componente para uma instância de gravador diferente no momento da restauração. A instância do gravador é especificada usando um nome de instância de gravador persistente que foi passado como o parâmetro wszWriterInstanceName para o método CVssWriter::Initialize . Um solicitante pode obter o nome da instância do gravador usando IVssExamineWriterMetadataEx::GetIdentityEx e mover componentes durante a restauração usando IVssBackupComponentsEx::SetSelectedForRestoreEx.
Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Server 2003 com Service Pack 1 (SP1).
Incremental (VSS_BS_INCREMENTAL)— indica que o gravador usa a API VSS para ajudar o solicitante, garantindo que apenas os arquivos que foram alterados ou adicionados desde o último backup completo ou incremental sejam copiados para um meio de armazenamento.
Restaurar um backup incremental requer a imagem de backup original e todas as imagens de backup incrementais feitas desde o backup inicial.
Diferencial (VSS_BS_DIFFERENTIAL)— indica que o gravador usa a API VSS para ajudar o solicitante a garantir que apenas os arquivos que foram alterados ou adicionados desde o último backup completo sejam copiados para um meio de armazenamento; todas as informações intermediárias de backup são ignoradas.
Restaurar um backup diferencial requer a imagem de backup original e a imagem de backup diferencial mais recente feita desde o último backup completo.
Incremental/Diferencial: suporte a carimbo de data/hora (VSS_BS_TIMESTAMPED)— indica que um gravador dá suporte ao uso do mecanismo de carimbo de data/hora do VSS para incluir arquivos em operações incrementais ou diferenciais. No backup, o gravador deve armazenar o carimbo de backup de um conjunto de arquivos com o método IVssComponent::SetBackupStamp e, na restauração, recuperá-lo com IVssComponent::GetPreviousBackupStamp.
Incremental/Diferencial: o Tempo de Suporte à Última Modificação (VSS_BS_LAST_MODIFY)— indica que, ao implementar backups incrementais ou diferenciais com arquivos diferenciados, um gravador pode fornecer informações de hora de última modificação de forma independente. Essas informações podem ser fornecidas a um solicitante por meio do método IVssComponent::AddDifferencedFilesByLastModifyTime .
Incremental/Diferencial: limitação de suporte (VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL)— indica o suporte de gravador de esquemas de backup diferenciais ou incrementos, mas somente exclusivamente: por exemplo, você não pode seguir um backup incremental com um backup diferencial.
Estado independente do sistema (VSS_BS_INDEPENDENT_SYSTEM_STATE)— indica que o gravador dá suporte ao backup de dados que fazem parte do estado do sistema, mas que também podem ser copiados em backup independentemente do estado do sistema.
Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Vista.
Roll-Forward Restore (VSS_BS_ROLLFORWARD_RESTORE)— indica que o gravador dá suporte a um solicitante definindo um ponto de restauração roll forward usando IVssBackupComponentsEx2::SetRollForward.
Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Vista.
Restaurar Renomeação (VSS_BS_RESTORE_RENAME)— indica que o gravador dá suporte a um solicitante definindo um nome de restauração usando IVssBackupComponentsEx2::SetRestoreName.
Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Vista.
Restauração Autoritativa (VSS_BS_AUTHORITATIVE_RESTORE)— indica que o gravador dá suporte a uma restauração autoritativa de configuração do solicitante usando IVssBackupComponentsEx2::SetAuthoritativeRestore.
Os gravadores definem seus esquemas usando o método IVssCreateWriterMetadata::SetBackupSchema e um solicitante obtém o esquema de cada gravador chamando IVssExamineWriterMetadata::GetBackupSchema.