Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para dar suporte a umaincrementalou operação de backup diferencial, um solicitante deve fazer o seguinte:
- Determine qual grau de suporte de gravador está disponível (usando IVssBackupComponents::GetWriterMetadata para obter acesso às informações em Documentos de Metadados do Gravador)— em particular, determine qual esquema de backup tem suporte (VSS_BACKUP_SCHEMA).
- Defina um estado de backup apropriado.
- Obtenha especificações de nível de arquivo e de conjunto de arquivos para um backup incremental ou diferencial.
- Execute o backup.
Determinação do solicitante de suporte e configuração incrementais e diferenciais
Um solicitante precisa obter informações sobre o suporte ao gravador antes de selecionar componentes para inclusão em um backup incremental ou diferencial ou definir seu próprio estado.
-
determinando o suporte ao gravador
-
Um solicitante determina se um determinado gravador dá suporte a backups incrementais ou diferenciais do VSS recuperando a máscara de esquema de backup do gravador usando o métodoIVssExamineWriterMetadata::GetBackupSchema do.
A máscara de esquema de backup de um gravador que dá suporte a técnicas incrementais ou diferenciais do VSS conterá VSS_BS_INCREMENTAL ou VSS_BS_DIFFERENTIAL, ou ambos. Os escritores também podem indicar restrições à sua participação com o sinalizador VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL. (Consulte VSS_BACKUP_SCHEMA para obter mais informações sobre esquemas de backup).
-
estado de backup do solicitante de configuração de
-
Um solicitante indica que um backup é um backup incremental ou diferencial definindo um tipo de backup como VSS_BT_INCREMENTAL ou VSS_BT_DIFFERENTIAL usando o método IVssBackupComponents::SetBackupState antes de gerar um evento PrepareForBackup.
O métodoIVssBackupComponents::SetBackupState também é usado para indicar se o solicitante fornece suporte parcial ao arquivo, que é frequentemente usado para implementar determinadas operações incrementais de backup e restauração.
Obtendo especificações de gravador para backups incrementais e diferenciais
As informações de especificação de backup de arquivo de nível de conjunto de arquivos (VSS_FILE_SPEC_BACKUP_TYPE) contidas no Documento de Metadados do Gravador de cada gravador estão disponíveis para exame após o retorno bem-sucedido de IVssBackupComponents::GatherWriterMetadata.
No entanto, um gravador pode adicionar arquivos diferenciados ou solicitar suporte parcial ao arquivo até que o tratamento bem-sucedido do postSnapshot evento.
A especificação de suporte de arquivo e de arquivo parcial diferenciada pode substituir o tipo de backup de especificação de arquivo, portanto, os solicitantes podem querer adiar uma análise completa de todas as especificações de gravador sobre backups incrementais e diferenciais até depois do retorno bem-sucedido de IVssBackupComponents::P repareForBackup.
-
obtendo informações de especificação de backup de arquivo
-
As informações de especificação de backup de arquivo no nível do conjunto de arquivos (VSS_FILE_SPEC_BACKUP_TYPE) estão contidas no Documento de Metadados do Gravador de cada gravador e podem ser examinadas imediatamente após o retorno bem-sucedido de IVssBackupComponents::GatherWriterMetadata.
Os solicitantes devem obter máscaras de especificação de backup de arquivo (VSS_FILE_SPEC_BACKUP_TYPE) para que cada conjunto de arquivos de cada um dos componentes de um gravador seja incluído no backup incremental ou diferencial, independentemente de o componente ter sido explicitamente ou implicitamente incluído.
Um solicitante pode determinar quais documentos de metadados do gravador de gravador devem ser consultados usando IVssBackupComponents::GetWriterComponentsCount e IVssBackupComponents::GetWriterComponents. A instância da interface deIVssWriterComponentsExt retornada por método IVssBackupComponents::GetWriterComponents fornece informações de gravador por meio do método IVssWriterComponentsExt::GetWriterInfo.
O solicitante obtém informações de componente por meio de instâncias da interfaceIVssWMComponentcorrespondente a um componente incluído gerenciado por um determinado gravador usando IVssExamineWriterMetadata::GetComponent.
As informações sobre conjuntos de arquivos gerenciados pelo componente correspondente à interface IVssWMComponent são obtidas por chamadas para IVssWMComponent::GetFile, IVssWMComponent::GetDatabaseFileou IVssWMComponent::GetDatabaseLogFile (conforme apropriado).
Essas chamadas podem retornar instâncias da interface de IVssWMFiledesc para cada um dos conjuntos de arquivos de um componente.
O tipo de backup de especificação de arquivo de um conjunto de arquivos é obtido chamando IVssWMFiledesc::GetBackupTypeMask.
-
obtendo informações de arquivo parcial e arquivo diferenciado
-
Um solicitante obtém informações de arquivo parciais e de arquivo diferenciados por meio da interface deIVssComponent.
Um solicitante pode iterar em todos os gravadores incluídos em um backup usando IVssBackupComponents::GetWriterComponentsCount e IVssBackupComponents::GetWriterComponents.
A instância de uma interfaceIVssWriterComponentsExtretornada por IVssBackupComponents::GetWriterComponents fornece acesso a todas as instâncias da interface deIVssComponentcorrespondente a um determinado de gravador incluiu explicitamente componentes por meio dos métodos IVssWriterComponentsExt::GetComponent e IVssWriterComponentsExt::GetComponentCount.
Um solicitante precisará percorrer todas as instâncias do IVssComponent para todos os gravadores cujo esquema dá suporte ao backup incremental ou diferencial, ou seja, os gravadores cuja máscara de esquema de backup, conforme retornado por IVssExamineWriterMetadata::GetBackupSchema, inclui VSS_BS_INCREMENTAL quando o tipo de backup é VSS_BT_INCREMENTAL, ou VSS_BS_DIFFERENTIAL quando o tipo de backup é VSS_BS_DIFFERENTIAL.
Informações parciais de arquivo são obtidas chamando IVssComponent::GetPartialFileCount e IVssComponent::GetPartialFile (consulte Trabalhando com arquivos parciais).
Para gravadores que dão suporte a operações de backup com base nos últimos dados de modificação de um arquivo (gravadores cuja máscara de esquema de backup, conforme retornado por IVssExamineWriterMetadata::GetBackupSchema, inclui VSS_BS_LAST_MODIFY), as informações de arquivo diferenciadas são obtidas chamando IVssComponent::GetDifferencedFilesCount e IVssComponent::GetDifferencedFile.
Observe que arquivos diferenciados podem ser novos arquivos, ou seja, arquivos que não são membros de nenhum conjunto de arquivos atualmente em um documento de metadados do gravador de um determinado gravador.
Os solicitantes não devem encontrar arquivos incluídos para operações de arquivo parciais e como arquivos diferenciados. Se um solicitante encontrar tal circunstância, ele deverá retornar e registrar um erro de gravador.
Um solicitante ainda pode optar por continuar fazendo backup dos arquivos do gravador problemático, mas nesse caso deve fazê-lo de acordo com a especificação encontrada nas informações de arquivo diferentes.
Implementando backups incrementais ou diferenciais
Antes de implementar um backup, os solicitantes devem ter informações sobre quais gravadores dão suporte a umaincrementalou backup diferencial, todas as operações de arquivo parciais solicitadas, todos os arquivos diferenciados e o tipo de backup de especificação de arquivo de todos os outros arquivos.
-
gravadores sem suporte
-
Os gravadores cujo esquema não dá suporte ao backup incremental ou diferencial (gravadores cuja máscara de esquema de backup, conforme retornado por IVssExamineWriterMetadata::GetBackupSchema, inclui VSS_BS_INCREMENTAL quando o tipo de backup é VSS_BT_INCREMENTAL ou não inclui VSS_BS_DIFFERENTIAL quando o tipo de backup é VSS_BS_DIFFERENTIAL) não podem fornecer suporte direto a uma operação de backup incremental ou diferencial.
Isso não significa necessariamente que os dados dos gravadores não estarão envolvidos em uma operação de backup incremental ou diferencial. No entanto, a escolha do que fazer é a critério do solicitante. O solicitante pode fazer qualquer um dos seguintes procedimentos:
- Fazer backup de nenhum arquivo pertencente aos gravadores sem suporte (indicar claramente isso para o usuário)
- Fazer backup de todos os arquivos de gravadores sem suporte
- Execute um backup incremental usando os dados do sistema de arquivos e os logs de histórico do próprio solicitante.
A última alternativa deve ser usada com muito cuidado e somente se o solicitante entender se os gravadores envolvidos podem dar suporte ao backup incremental ou diferencial e à restauração de dados independentemente do mecanismo VSS.
-
escritores de suporte
-
Um solicitante precisa processar (em ordem) todos os arquivos diferenciados de um gravador, manipular qualquer arquivo parcial solicitações e fazer backup dos arquivos restantes de acordo com o tipo de backup de especificação de arquivo (VSS_FILE_SPEC_BACKUP_TYPE).
fazendo backup de arquivos diferenciados:
Para gravadores que dão suporte a operações de backup com base nos últimos dados de modificação (gravadores cuja máscara de esquema de backup, conforme retornado por IVssExamineWriterMetadata::GetBackupSchema, inclui VSS_BS_LAST_MODIFY), um solicitante usa as informações de caminho, especificação de arquivo e sinalizador de recursão retornadas por IVssComponent::GetDifferencedFile para gerar uma lista de arquivos como candidatos para backup incremental ou restauração.
IVssComponent::GetDifferencedFile também pode retornar uma hora da última modificação (expressa como uma estruturaFILETIME).
Se o tempo de última modificação fornecido pelo gravador não for zero, o solicitante o usará como base (em vez de informações do sistema de arquivos ou os próprios dados armazenados do solicitante) para determinar se o arquivo deve ser incluído no incremental ou diferencial backup.
Por exemplo, se a hora da última modificação de um arquivo, conforme retornado pelo gravador, foi:
- Após o último backup completo, o arquivo deve ser incluído em backups incrementais e diferenciais.
- Após o último backup completo, mas antes do último backup incremental, o arquivo deve ser incluído em operações de backup incremental, mas não em backups diferenciais.
Se o tempo de última modificação fornecido pelo gravador for zero, o solicitante deverá usar informações do sistema de arquivos e seus próprios dados armazenados para determinar o tempo de modificação do arquivo diferenciado.
usando operações de arquivo parciais:
Se um gravador solicitou o backup de um arquivo usando uma operação de arquivo parcial, o solicitante usará as informações de deslocamento de arquivo para salvar os segmentos de arquivo indicados na mídia de backup. (Consulte Trabalhando com arquivos parciais para obter mais informações sobre operações de arquivo parciais).
Conforme observado acima, um gravador não deve designar um arquivo como um arquivo diferenciado e como participante de uma operação de arquivo parcial. Se um solicitante encontrar tal circunstância, ele deverá retornar e registrar um erro de gravador.
Um solicitante ainda pode optar por continuar fazendo backup dos arquivos do gravador problemático, mas nesse caso deve fazê-lo de acordo com a especificação encontrada nas informações de arquivo diferentes.
trabalhando com o tipo de backup de especificação de arquivo:
Tendo processado todos os arquivos diferenciados e operações de arquivo parciais, o solicitante agora processa todos os arquivos restantes em seu conjunto de backup com base em seu tipo de backup de especificação de arquivo (VSS_FILE_SPEC_BACKUP_TYPE).
Há três valores de "backup necessário" da enumeração VSS_FILE_SPEC_BACKUP_TYPE que afetam backups diferenciais e incrementais:
- VSS_FSBT_ALL_BACKUP_REQUIRED
- VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED
- VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED
Há três valores de "cópia de sombra necessária":
- VSS_FSBT_ALL_SNAPSHOT_REQUIRED
- VSS_FSBT_INCREMENTAL_SNAPSHOT_REQUIRED
- VSS_FSBT_DIFFERENTIAL_SNAPSHOT_REQUIRED
Conjuntos de arquivos marcados com um tipo de backup de especificação de arquivo de "cópia de sombra necessária" indicam que um solicitante precisa copiar dados de uma cópia de sombra ao executar operações de backup INCREMENTAL, DIFERENCIAL ou ALL (que inclui operações incrementais e diferenciais).
O sinalizador "backup necessário", aplicado a operações de backup INCREMENTAL, DIFERENCIAL ou ALL, indica que o gravador espera que uma cópia da versão atual do conjunto de arquivos esteja disponível após a restauração de qualquer operação de backup. Normalmente, isso significa que, se um conjunto de arquivos for marcado com "backup necessário", um solicitante copiará todos os seus membros para a mídia de backup durante um backup incremental ou diferencial, independentemente de quando o backup ou modificação ocorreu pela última vez.
Por padrão, os conjuntos de arquivos são adicionados a componentes com um tipo de backup de especificação de arquivo de VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED. Portanto, a menos que um gravador defina explicitamente o tipo de backup de especificação de arquivo, caso contrário, os solicitantes precisarão copiar esses arquivos não tratados por operações parciais de arquivo ou arquivos designados diferentes na maioria dos conjuntos de arquivos normalmente serão copiados em sua totalidade para a mídia de backup.
-
Carimbos de Backup
-
Os gravadores que dão suporte a selos de backup (VSS_BS_TIMESTAMP) podem optar por gerar informações de carimbo de backup a serem usadas para dar suporte a futuras operações de backup e restauração incrementais e diferenciais.
O formato e as informações contidas em cadeias de caracteres que contêm informações de carimbo de backup são privadas para o gravador que as gera; o solicitante não sabe como processar essas informações.
Os gravadores de suporte armazenam o carimbo de backup no Documento de Componentes de Backup como uma cadeia de caracteres usando o métodoIVssComponent::SetBackupStamp.
A função do solicitante no tratamento de informações de carimbo de backup é (se existir) para disponibilizá-las ao gravador chamando IVssBackupComponents::SetPreviousBackupStamp em uma operação futura de backup ou restauração.