Condividi tramite


Determinazione dello stato del writer

Un richiedente deve avere una conoscenza ben definita dello stato del writer che lo partecipa durante la creazione della copia shadow e durante le operazioni di backup e ripristino. A tale scopo, è consigliabile:

IVssBackupComponents::P repareForBackup

IVssBackupComponents::D oSnapshotSet

IVssBackupComponents::BackupComplete

Durante le operazioni di ripristino, un richiedente deve eseguire query su un writer dopo il completamento di questi metodi:

IVssBackupComponents::P restore

IVssBackupComponents::P ostRestore

  • Le chiamate a IVssBackupComponents::GatherWriterStatus che non fanno parte di una sequenza di backup o ripristino ben definite non forniscono un'immagine affidabile dello stato del writer, perché potrebbero riflettere condizioni che non indicano errori nell'operazione corrente, ad esempio:
    • Errore di creazione di una copia shadow precedente
    • Errore in un'operazione di backup o ripristino anticipata
    • Writer non risponde attualmente che elabora un evento

Pertanto, gli sviluppatori non devono basarsi sullo stato del writer restituito da processi diversi dal richiedente o tentare di monitorare lo stato di avanzamento di un'istanza dell'interfaccia IVssBackupComponents con un altro (possibilmente in un thread separato).

Si noti che per le operazioni di backup, in cui è necessario esaminare i documenti di metadati writer dei writer, non è necessario una chiamata del richiedente a IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus dopo la generazione e la gestione dell'evento Identify causato da IVssBackupComponents::GatherWriterMetdata.

IVssBackupComponents::GetWriterStatus segnala solo lo stato di tali writer i cui metadati sono stati forniti a VSS dai gestori eventi Identify, CVssWriter::OnIdentify (e restituiti al richiedente da IVssBackupComponents::GetWriterMetadataCount e IVssBackupComponents::GetWriterMetadata).

Se l'implementazione di un writer di CVssWriter::OnIdentify ha esito negativo, i metadati del writer non faranno parte dell'elenco dei documenti di metadati del writer forniti al Servizio Copia Shadow del database, non saranno disponibili informazioni sullo stato e la chiamata sarà ridondante.

Per le operazioni di ripristino, in cui il richiedente non deve esaminare i documenti dei metadati del writer di esecuzione, la chiamata di IVssBackupComponents::GatherWriterStatus e IVssBackupComponents::GetWriterStatus può essere un modo più efficiente per determinare quali writer sono in esecuzione.