Uso dei componenti da parte del richiedente
Oltre a eseguire un backup o un ripristino e a supervisionare le copie shadow, un richiedente deve gestire le informazioni sui componenti dei writer con cui interagisce. La selezione dei componenti e il percorso logico vengono usati per includere o escludere i dati da un backup e per decidere quali informazioni sui componenti sono incluse nel documento Componenti di backup.
Selezione del componente richiedente durante il backup
Durante le operazioni di backup, un richiedente importa i dati dei componenti dei metadati del writer usando i metodi IVssBackupComponents::GatherWriterMetadata e IVssBackupComponents::GetWriterMetadata (vedere Panoramica dell'inizializzazione del backup per altre informazioni).
Dopo aver esaminato le informazioni sul writer con l'interfaccia IVssExamineWriterMetadata , un richiedente decide quali writer eseguirà il backup e, in misura limitata, quale dei componenti di un determinato writer eseguirà il backup.
Quando si esegue il backup di un writer, un richiedente:
- Deve includere in modo esplicito tutti i componenti di backup di un writer senza selezionare per i predecessori di backup che usano IVssBackupComponents::AddComponent per aggiungere il componente al documento Componenti di backup
- Può includere in modo esplicito uno dei componenti di backup selezionabili di un writer usando IVssBackupComponents::AddComponent per aggiungere il componente al documento Componenti di backup
- Se un componente selezionabile per il backup definisce un set di componenti, l'inclusione esplicita include in modo implicito tutti i membri del set di componenti, indipendentemente dal fatto che sia selezionabile per il backup o meno. Questi componenti non vengono aggiunti al documento Componenti di backup.
Nell'aggiunta di un componente di backup selezionabile o di un componente non selezionabile per i componenti di backup senza selezionabile per i predecessori di backup nel documento componenti di backup, un richiedente specifica quanto segue:
- Istanza del writer che gestisce il componente
- Identificatore di classe del writer
- Percorso logico del componente (che può essere NULL)
- Nome del componente
Se un componente non corrisponde alla specifica, verrà restituito un errore.
Se tale componente esiste, VSS crea un'interfaccia IVssComponent per il componente nel documento Componenti di backup. Queste informazioni saranno accessibili e modificabili dal writer e dal richiedente. Per un componente selezionabile che definisce un set di componenti, descrive non solo le proprietà del componente, ma anche tutti i sottocomponenti contenuti.
Le informazioni sui componenti aggiunti in modo implicito non sono disponibili nel documento Componenti di backup. Inoltre, nel documento Componenti di backup non sono disponibili informazioni sui file. Per ottenere tali informazioni, il richiedente dovrà esaminare i documenti dei metadati writer (che saranno già stati letti) nel contesto dei componenti archiviati selezionati nel documento Componenti di backup.
Selezione del componente richiedente durante il ripristino
Durante le operazioni di ripristino, un richiedente non deve importare informazioni sui componenti dai writer attualmente attivi nel sistema tramite IVssBackupComponents::GatherWriterMetadata, perché lo stato dei processi attualmente in esecuzione non riflette necessariamente lo stato dei processi quando è stato eseguito un backup.
Deve comunque generare un evento Identify tramite IVssBackupComponents::GatherWriterMetadata, sia per creare un evento Identify che per determinare quali writer sono attualmente presenti nel sistema e il relativo stato.
Il richiedente recupera il documento dei componenti di backup archiviati durante l'inizializzazione e i documenti dei metadati del writer archiviati (vedere Panoramica dell'inizializzazione del ripristino per altre informazioni).
L'inclusione di componenti durante il backup è in gran parte uguale a quella per il ripristino, ad eccezione del fatto che è necessario considerare selezionabile per il ripristino insieme al percorso logico, non selezionabile per il backup.
Esistono tuttavia alcune differenze:
- Se un componente è già stato incluso in modo esplicito nel documento dei componenti di backup durante il backup, se è incluso per il ripristino (in modo esplicito o implicito), viene usato IVssBackupComponents::SetSelectedForRestore per aggiungerlo in modo esplicito al documento Componenti di backup per il ripristino.
- Se un componente è stato incluso in modo implicito nel backup e non è selezionabile per il ripristino senza selezione per i predecessori di ripristino, che nel caso di backup implica la necessità di inclusione esplicita, il componente non viene incluso in modo esplicito, ovvero non viene aggiunto al documento Componenti di backup usando IVssBackupComponents::SetSelectedForRestore. Tale componente deve essere considerato selezionato in modo implicito per il ripristino.
- Di questi componenti selezionati in modo implicito per il backup (indipendentemente dal fatto che tale componente sia selezionabile per il backup o meno), è possibile aggiungere solo quelli selezionabili per il ripristino al documento Componenti di backup usando IVssBackupComponents::AddRestoreSubcomponent.
- Selezionabile per i componenti di ripristino può definire un set di componenti per il ripristino, esattamente come selezionabile per i componenti di backup. Questa opzione selezionabile per il componente di ripristino definisce quindi questo set di componenti per l'operazione di ripristino.
Un writer senza componenti selezionati in modo esplicito per il ripristino prima della generazione di un evento PreRestore non riceverà alcun evento VSS.
I richiedenti e i writer possono accedere alle informazioni sui componenti archiviate usando l'interfaccia IVssComponent . Tramite l'interfaccia IVssComponent , i writer possono modificare alcune delle impostazioni dei relativi componenti inclusi in modo esplicito nel documento Componenti di backup per supportare un ripristino ,ad esempio la destinazione di ripristino. Se definisce un set di componenti, le modifiche del writer di un componente incluso in modo esplicito verranno propagate ai relativi sottocomponenti. Inoltre, l'interfaccia fornisce un meccanismo per passare informazioni sull'esito positivo e negativo del ripristino tra writer e richiedente.
Come durante il backup, nel documento componenti di backup non sono disponibili informazioni sufficienti per implementare il ripristino. Anche in questo caso, i documenti di metadati writer dovranno fornire informazioni sui percorsi effettivi dei file da ripristinare e per individuare quali componenti non selezionabili fanno parte del set di componenti selezionabili e pertanto devono essere ripristinati.
Per informazioni sui tipi di selezionabilità e sui relativi utilizzi, vedere Uso della selezione e dei percorsi logici .
Uso delle informazioni sul documento del componente writer da parte del richiedente
Ogni componente viene identificato in modo univoco dall'ID classe writer del writer padre, dal relativo nome e dal relativo percorso logico.
Il richiedente può usare l'interfaccia IVssWriterComponentsExt restituita dal metodo IVssBackupComponents::GetWriterComponents per ottenere informazioni su ogni componente archiviato.
Il nome e il percorso logico del componente (tra gli altri elementi) sono disponibili tramite l'interfaccia IVssComponent restituita da IVssWriterComponentsExt::GetComponent.
Nota
Durante la fase di ripristino, il richiedente deve chiamare IVssWriterComponentsExt::GetComponent o IVssWriterComponentsExt::GetComponentCount solo dopo la chiamata a IVssBackupComponents::P reRestore , per consentire al writer di aggiornare il documento componenti di backup. Un esempio di tale aggiornamento è quello di modificare la destinazione di ripristino.
Le informazioni sul writer padre di ogni componente selezionabile archiviato sono disponibili usando IVssWriterComponentsExt::GetWriterInfo.
Con queste informazioni, è possibile eseguire query sui documenti di metadati writer e identificare il documento corrispondente. Usando quindi il percorso logico, il richiedente può identificare i componenti dipendenti non selezionabili per ogni componente selezionabile, ovvero identificare tutti i membri del set di componenti selezionabile.
Usando l'interfaccia IVssExamineWriterMetadata , il richiedente dispone ora di informazioni complete sui componenti, inclusa la specifica del percorso (dall'interfaccia IVssWMComponent ) per i componenti selezionabili e non selezionabili di cui deve eseguire il backup o il ripristino.
Questo è un motivo per cui è fondamentale per un richiedente salvare lo stato del proprio documento dei componenti di backup e i documenti di metadati writer dei writer di cui esegue il backup.
Per informazioni più dettagliate, vedere Uso della selezione e dei percorsi logici .