Supporto dello schema di backup del writer
Per implementare completamente un backup, è necessaria la partecipazione dei writer del sistema. Diversi tipi di backup supportati vengono definiti schemi e sono indicati da una maschera di bit (o OR bit per bit) dei membri dell'enumerazione VSS_BACKUP_SCHEMA . Gli schemi validi attualmente supportati includono quanto segue:
Schema predefinito: completo (VSS_BS_UNDEFINED): indica che un writer supporta un backup in cui verrà eseguito il backup di tutti i file indipendentemente dalla data dell'ultimo backup. La cronologia di backup di ogni file può essere aggiornata dal richiedente e dai writer che supportano il valore di enumerazione VSS_BS_TIMESTAMPED, archivierà un timestamp aggiornato con il richiedente. Questo schema di backup può essere usato come base di un backup incrementale o differenziale.
Il ripristino di un backup completo richiede solo una singola immagine di backup.
Copia backup (VSS_BS_COPY), ad esempio lo schema di backup VSS_BS_FULL, indica che un writer supporta un backup in cui verrà eseguito il backup di tutti i file indipendentemente dalla data dell'ultimo backup. Tuttavia, la cronologia dei backup di ogni file non verrà aggiornata dal richiedente o dal writer e questo tipo di backup non può essere usato come base di un backup incrementale o differenziale.
File di log (VSS_BS_LOG): è necessario eseguire il backup solo dei file di log di un writer. Questo richiede che un writer abbia aggiunto almeno un file a almeno un componente usando il metodo IVssCreateWriterMetadata::AddDatabaseLogFiles . Questo tipo di backup è specifico di VSS.
Percorsi di ripristino personalizzati (VSS_BS_WRITER_SUPPORTS_NEW_TARGET): indica il supporto del writer per un richiedente che cambia, in fase di ripristino, in cui vengono ripristinati i file. Ciò significa che un writer è stato codificato per verificare la presenza di tale rilocazione (usando IVssComponent::GetNewTarget) e ha la capacità di lavorare con i file rilocati.
Ripristino con Move (VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE): indica che il writer supporta l'esecuzione di più istanze del writer con lo stesso ID classe e supporta lo spostamento di un componente in un'istanza del writer diversa in fase di ripristino. L'istanza del writer viene specificata utilizzando un nome di istanza del writer persistente passato come parametro wszWriterInstanceName al metodo CVssWriter::Initialize . Un richiedente può ottenere il nome dell'istanza del writer usando IVssExamineWriterMetadataEx::GetIdentityEx e spostare i componenti durante il ripristino usando IVssBackupComponentsEx::SetSelectedForRestoreEx.
Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Server 2003 con Service Pack 1 (SP1).
Incrementale (VSS_BS_INCREMENTAL): indica che il writer usa l'API VSS per aiutare il richiedente, assicurandosi che solo i file modificati o aggiunti dopo l'ultimo backup completo o incrementale vengano copiati in un supporto di archiviazione.
Il ripristino di un backup incrementale richiede l'immagine di backup originale e tutte le immagini di backup incrementali eseguite dal backup iniziale.
Differenziale (VSS_BS_DIFFERENTIAL): indica che il writer usa l'API VSS per consentire al richiedente di assicurarsi che solo i file modificati o aggiunti dopo l'ultimo backup completo vengano copiati in un supporto di archiviazione; tutte le informazioni di backup intermedie vengono ignorate.
Il ripristino di un backup differenziale richiede l'immagine di backup originale e l'immagine di backup differenziale più recente eseguita dall'ultimo backup completo.
Incrementale/Differenziale: supporto timestamp (VSS_BS_TIMESTAMPED): indica che un writer supporta l'uso del meccanismo timestamp vss per includere i file in operazioni incrementali o differenziali. Al backup, il writer deve archiviare lo stamp di backup di un set di file con il metodo IVssComponent::SetBackupStamp e recuperarlo con IVssComponent::GetPreviousBackupStamp.
Incrementale/Differenziale: ora del supporto dell'ultima modifica (VSS_BS_LAST_MODIFY), indica che quando si implementano backup incrementali o differenziali con file con differenze, un writer può fornire informazioni sull'ora dell'ultima modifica in modo indipendente. Queste informazioni possono essere fornite a un richiedente tramite il metodo IVssComponent::AddDifferencedFilesByLastModifyTime .
Incremental/Differenziale: Limitazione del supporto (VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL): indica il supporto del writer di schemi di backup differenziali o incrementi, ma solo esclusivamente: ad esempio, non è possibile seguire un backup incrementale con un backup differenziale.
Stato del sistema indipendente (VSS_BS_INDEPENDENT_SYSTEM_STATE): indica che il writer supporta il backup dei dati che fanno parte dello stato del sistema, ma che possono anche essere sottoposti a backup indipendentemente dallo stato del sistema.
Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Vista.
Roll-Forward Ripristino (VSS_BS_ROLLFORWARD_RESTORE): indica che il writer supporta un richiedente che imposta un punto di ripristino di roll forward usando IVssBackupComponentsEx2::SetRollForward.
Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Vista.
Restore Rename (VSS_BS_RESTORE_RENAME): indica che il writer supporta un'impostazione di un nome di ripristino tramite IVssBackupComponentsEx2::SetRestoreName.
Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Vista.
Ripristino autorevole (VSS_BS_AUTHORITATIVE_RESTORE): indica che il writer supporta un ripristino autorevole dell'impostazione di un richiedente usando IVssBackupComponentsEx2::SetAuthoritativeRestore.
I writer impostano i propri schemi usando il metodo IVssCreateWriterMetadata::SetBackupSchema e un richiedente ottiene lo schema di ogni writer chiamando IVssExamineWriterMetadata::GetBackupSchema.