Contenuto del documento dei componenti di backup
Il documento dei componenti di backup viene gestito dalle istanze dell'interfaccia IVssBackupComponents . Questa interfaccia contiene anche numerosi metodi per il controllo delle operazioni di backup, la modifica delle copie shadow e l'esecuzione di query sullo stato del sistema. Tuttavia, non tutte le informazioni del documento sono accessibili direttamente tramite questa interfaccia.
Il documento Componenti di backup è costituito da diversi set di dati:
- Informazioni sui componenti inclusi in modo esplicito in un'operazione di backup o ripristino
- Rappresentazione delle informazioni sul componente archiviato e sul writer
- Informazioni sullo stato relative all'operazione di backup/ripristino
Mentre le informazioni sul componente sono disponibili sia per il richiedente che per il writer, solo il writer ha accesso alle informazioni sullo stato.
Informazioni sull'inclusione dei componenti
Il documento Componenti di backup contiene un elenco di tali componenti inclusi in modo esplicito nel backup e nel ripristino da parte del richiedente. L'elenco contiene quanto segue:
Inclusi in modo esplicito i componenti selezionabili.
L'inclusione di questi file nelle operazioni di backup è indicata da IVssBackupComponents::AddComponent e nelle operazioni di ripristino da IVssBackupComponents::SetSelectedForRestore.
Non selezionabile per i sottocomponenti di backup senza selezionare per il predecessore del componente di backup.
Tutti questi componenti devono essere inclusi se tutti i componenti del writer devono essere inclusi nell'operazione. L'inclusione di questi file nelle operazioni di backup è indicata da IVssBackupComponents::AddComponent e nelle operazioni di ripristino da IVssBackupComponents::SetSelectedForRestore.
I componenti aggiunti in modo implicito al backup (sottocomponenti) selezionabili per il ripristino e vengono aggiunti in modo esplicito al ripristino.
Questi componenti possono essere selezionabili o non selezionabili, ma hanno un predecessore selezionabile usato per selezionarli in modo implicito per il backup. Vengono aggiunti al documento Componenti di backup da IVssBackupComponents::AddRestoreSubcomponent.
Le identità dei componenti inclusi in modo implicito nel ripristino non vengono archiviate nel documento Componenti di backup.
VsS ha accesso alle informazioni sull'inclusione dei componenti: i writer senza componenti inclusi in modo esplicito in un ripristino o un backup non ricevono eventi VSS dopo la generazione degli eventi PrepareForBackup o PreRestore .
I writer non possono eseguire direttamente query su queste informazioni. Questa non è una limitazione significativa perché, per impostazione predefinita, i singoli writer vss non devono richiedere informazioni dettagliate sullo stato di altri writer nel sistema e, come indicato in precedenza, quelli senza componenti inclusi non dovranno partecipare all'operazione VSS.
Un richiedente può determinare quali componenti sono stati inclusi in modo esplicito in un'operazione.
Il metodo IVssBackupComponents::GetWriterComponentsCount restituisce il numero di writer con le informazioni sui componenti archiviate nel documento Componenti di backup e non il numero di componenti nel documento.
Il richiedente indicizza le informazioni sul writer archiviato usando IVssBackupComponents::GetWriterComponents, che restituisce istanze dell'interfaccia IVssWriterComponentsExt . L'interfaccia IVssWriterComponentsExt consente al richiedente di ottenere la classe writer e l'istanza writer dei writer partecipanti, nonché di accedere alle informazioni su quelle dei relativi componenti archiviati nel documento Componenti di backup.
Informazioni sui componenti inclusi
Rappresentazione dei dati dei componenti di backup del documento (che non include informazioni sul percorso e sulle specifiche del file), a cui si accede tramite istanze dell'interfaccia IVssComponent .
I richiedenti e i writer ottengono l'accesso alle istanze dell'interfaccia IVssComponent in modi diversi.
Un richiedente esamina i dati dei componenti in base al writer usando istanze dell'interfaccia IVssWriterComponentsExt restituita da IVssBackupComponents::GetWriterComponents.
Oltre alle informazioni di identificazione del writer, l'interfaccia IVssWriterComponentsExt fornisce una matrice di istanze dell'interfaccia IVssComponent , una per ognuno dei componenti inclusi dei writer selezionati.
Come indicato in Ciclo di vita dei documenti dei componenti di backup, i writer possono accedere alle stesse informazioni tramite l'interfaccia IVssWriterComponents durante la gestione dell'evento PrepareForBackup, PrepareForSnapshot, PostSnapshot, BackupComplete, PreRestore o PostRestore.
IVssComponent consente ai writer e ai richiedenti di ottenere le informazioni seguenti:
- Nome, tipo e percorso logico di un componente (GetComponentName, GetComponentType, GetLogicalPath)
- Come ripristinare un componente come indicato dalla destinazione di ripristino (IVssComponent::GetRestoreTarget)
- Se è stato usato un percorso alternativo per il ripristino di un file (GetAlternateLocationMapping, GetAlternateLocationMappingCount)
- Nuove informazioni di destinazione, se presenti (GetNewTarget, GetNewTargetCount)
- Messaggi di errore di pre-ripristino e post-ripristino (GetPreRestoreFailureMsg, GetPostRestoreFailureMsg)
- Se è stato selezionato un componente selezionabile per la definizione di un set di componenti per il ripristino (IsSelectedForRestore)
- Indica se un backup o un ripristino è riuscito (GetBackupSucceeded, GetFileRestoreStatus)
- Eventuali opzioni di backup o ripristino specifiche del writer che potrebbero essere state impostate da IVssBackupComponents::SetBackupOptions o IVssBackupComponents::SetRestoreOptions (GetBackupOptions, GetRestoreOptions)
- Qualsiasi backup o ripristino dei metadati specifici del writer (GetBackupMetadata), GetRestoreMetadata)
- Informazioni sul timestamp (GetBackupStamp, GetPreviousBackupStamp)
- Informazioni sui sottocomponenti di backup inclusi in modo esplicito in un ripristino (GetRestoreSubcomponent, GetRestoreSubcomponentCount)
A differenza dei richiedenti, i writer possono modificare determinate informazioni nel documento Componenti di backup tramite l'interfaccia IVssComponent :
- Come ripristinare un componente come indicato dalla destinazione di ripristino (IVssComponent::SetRestoreTarget)
- Metadati di backup e ripristino specifici del writer (IVssComponent::SetBackupMetadata, IVssComponent::SetRestoreMetadata)
- Informazioni sul timestamp (SetBackupStamp)
- Messaggi di errore pre-ripristino e post-ripristino (SetPreRestoreFailureMsg, SetPostRestoreFailureMsg)
Informazioni sullo stato del richiedente
I richiedenti inseriscono informazioni sullo stato di un'operazione di backup o ripristino nel documento Componenti di backup usando l'interfaccia IVssBackupComponents . Le applicazioni writer possono eseguire query su queste informazioni tramite la classe CVssWriter .
Le informazioni sullo stato archiviate nel documento Componenti di backup includono quanto segue:
Informazioni generali sul backup
- Tipo di backup complessivo (incrementale, differenziale o completo)
Set by requesters using IVssBackupComponents::SetBackupState
Recuperato dai writer tramite CVssWriter::GetBackupType
-
Set by requesters using IVssBackupComponents::SetBackupState
-
Recuperato dai writer tramite CVssWriter::AreComponentsSelected
-
Set by requesters using IVssBackupComponents::SetBackupState
-
Recuperato dai writer tramite CVssWriter::IsBootableStateBackedUp
-
Set by requesters using IVssBackupComponents::SetBackupState
-
Recuperato dai writer tramite CVssWriter::IsPartialFileSupportEnabled
Informazioni generali sul ripristino
- Tipo di ripristino complessivo ,indipendentemente dal fatto che il ripristino sia in base alla copia o all'importazione.
Set by requesters using IVssBackupComponents::SetRestoreState
Recuperato dai writer tramite CVssWriter::GetRestoreType
Informazioni sui file di supporto
- Percorso dei file di intervalli utilizzati da un componente specifico nelle operazioni parziali sui file
Set by requesters using IVssBackupComponents::SetRangesFilePath
Recuperato da writer (o richiedenti) usando IVssComponent::GetPartialFile
Stato delle informazioni
- Indicare se è stato eseguito correttamente il backup di uno dei componenti di un determinato writer
Set by requesters using IVssBackupComponents::SetBackupSucceeded
Recuperato da writer e richiedenti tramite IVssComponent::GetBackupSucceeded
-
Set by requesters using IVssBackupComponents::SetFileRestoreStatus
-
Recuperato da writer e richiedente tramite IVssComponent::GetFileRestoreStatus
informazioni Writer-Settable
- Specifica aggiuntiva di backup per uno dei componenti di un determinato writer
Set by writer using IVssComponent::SetBackupMetadata
Recuperato da writer e richiedenti tramite IVssComponent::GetBackupMetadata
-
Set by writer using IVssComponent::SetRestoreMetadata
-
Recuperato da writer e richiedenti tramite IVssComponent::GetRestoreMetadata
-
Set by writer using IVssComponent::SetBackupStamp
-
Recuperato da writer e richiedenti tramite IVssComponent::GetBackupStamp
-
Archiviato e impostato dai richiedenti per un componente specifico usando IVssBackupComponents::SetPreviousBackupStamp
-
Recuperato da writer e richiedenti tramite IVssComponent::GetPreviousBackupStamp
-
Set by writer using IVssComponent::SetPreRestoreFailureMsg or IVssComponent::SetPostRestoreFailureMsg
-
Recuperato da writer e richiedenti tramite IVssComponent::GetPreRestoreFailureMsg o IVssComponent::GetPostRestoreFailureMsg