Información general sobre la preparación de la restauración
Al preparar una restauración, un solicitante usa los documentos de metadatos de escritor almacenados junto con su propio documento de componentes de copia de seguridad recuperados para determinar qué se va a restaurar y cómo. Para obtener más información, vea Información general sobre el procesamiento de una restauración en VSS.
Después de la selección de componentes candidatos de restauración, los escritores que se ejecutan actualmente en el sistema acceden al documento componentes de copia de seguridad del solicitante. Los escritores usan este acceso para indicar cómo causar dificultades mínimas para ejecutar servicios debido a la restauración.
Una vez completado esto, el solicitante tiene suficiente información para determinar qué archivos deben restaurarse, así como dónde y cómo se deben restaurar. (Para obtener más información, vea Generar un conjunto de restauración).
En la tabla siguiente se muestra la secuencia de acciones y eventos necesarios para preparar una operación de restauración.
Acción del solicitante | Evento | Acción de escritor |
---|---|---|
Recupere información del documento componentes de copia de seguridad sobre los componentes incluidos explícitamente en la operación de copia de seguridad (vea IVssBackupComponents::GetWriterComponents) Examine los documentos de metadatos de escritor recuperados para obtener detalles sobre esos componentes incluidos explícitamente en la copia de seguridad y cualquier subcomponente incluido implícitamente . (Consulte IVssExamineWriterMetadata, IVssWMComponent). |
None | None |
Seleccione los componentes y los conjuntos de componentes que se van a restaurar (consulte IVssBackupComponents::SetSelectedForRestore e IVssBackupComponents::AddRestoreSubcomponent). | None | None |
El solicitante permite al escritor actualizar el documento componentes de copia de seguridad y puede comunicar opcionalmente cualquier opción de restauración especial al escritor. (Consulte IVssBackupComponents::SetRestoreOptions, IVssBackupComponents::AddNewTarget e IVssBackupComponents::P reRestore). | PreRestore | El escritor determina la participación en la restauración, prepara los archivos para restaurar y, opcionalmente, modifica el documento componentes de copia de seguridad si es necesario. (Vea CVssWriter::OnPreRestore, IVssComponent, IVssComponent::IsSelectedForRestore, IVssComponent::GetRestoreOptions, IVssComponent::SetRestoreTarget, IVssComponent::SetRestoreMetadata, IVssComponent::AddDirectedTarget.) |
El solicitante espera a los escritores para controlar el evento PreRestore con IVssAsync. También debe comprobar el estado del escritor. (Vea IVssBackupComponents::GatherWriterStatus, IVssBackupComponents::GetWriterStatus). | None | None |
Acciones del solicitante durante los preparativos de restauración
Para determinar qué componentes son candidatos para la restauración, el solicitante debe hacer lo siguiente:
- Establezca el componente y la estructura del conjunto de componentes que se usan para realizar la copia de seguridad.
- Examine la capacidad de selección de los componentes para la restauración.
- Use las directrices de selectabilidad (Trabajar con la capacidad de selección para restaurar y subcomponentes) para elegir los componentes que se van a incluir.
- Use la información del conjunto de archivos de componentes para determinar qué archivos de los medios de copia de seguridad se deben restaurar.
Para ello, el solicitante debe examinar los componentes incluidos explícitamente en el documento componentes de copia de seguridad almacenados. Esta información de componente está disponible por escritor mediante IVssBackupComponents::GetWriterComponents, que devuelve instancias de la interfaz IVssWriterComponentsExt , desde la que se puede recuperar la información del escritor y las instancias de la interfaz IVssComponent .
Como se indicó en otro lugar (uso de componentes por parte del solicitante), el documento componentes de copia de seguridad y la interfaz IVssComponent no contienen suficiente información para admitir la copia de seguridad. Por lo tanto, el solicitante debe examinar el documento de metadatos del escritor almacenado correspondiente mediante IVssExamineWriterMetadata (consulte Información de identificación del escritor).
IVssExamineWriterMetadata::GetFileCounts devuelve el número de componentes que administra cada escritor. Después, el solicitante puede usar IVssExamineWriterMetadata::GetComponent para obtener una interfaz IVssWMComponent para cada componente que administra un escritor.
Mediante el examen de la capacidad de selección de los componentes para las rutas de acceso lógicas y de copia de seguridad (consulte Working with Selectability and Logical Paths), un solicitante puede identificar los componentes que definieron conjuntos de componentes en tiempo de copia de seguridad (componentes incluidos explícitamente) y los subcomponentes miembros de esos conjuntos (componentes incluidos implícitamente).
Los solicitantes indican a través del documento componentes de copia de seguridad si se va a restaurar explícitamente un componente mediante IVssBackupComponents::SetSelectedForRestore o IVssBackupComponents::AddRestoreSubcomponent. La elección del método dependerá de cómo se haya realizado la copia de seguridad original del componente y de su capacidad de selección para la restauración. Estos componentes se incluyen explícitamente para la restauración designan otros componentes que se incluyen implícitamente (consulte Working with Selectability for Restore and Subcomponents (Trabajar con selectibilidad para restaurar y subcomponentes para obtener más información).
Un solicitante puede incluir explícitamente ninguno de los componentes del escritor que se está ejecutando actualmente para la restauración mediante IVssBackupComponents::SetSelectedForRestore o IVssBackupComponents::AddRestoreSubcomponent. En este caso, ese escritor no recibirá ningún evento de VSS durante el resto de la operación de restauración.
El uso explícito de IVssBackupComponents::SetSelectedForRestore o IVssBackupComponents::AddRestoreSubcomponent para seleccionar un componente de un escritor que no se está ejecutando devuelve un error de VSS_E_OBJECT_NOT_FOUND. Consulte Restauraciones sin participación de escritor para obtener información sobre cómo restaurar los datos de los escritores que faltan.
Para permitir que un escritor tenga información completa sobre qué actuar, las opciones de restauración específicas del escritor y la indicación de una restauración incremental se pueden enviar a los escritores mediante llamadas de solicitante a IVssBackupComponents::SetRestoreOptions e IVssBackupComponents::SetAdditionalRestores, respectivamente.
En este momento, un solicitante ha terminado su preparación y genera un evento PreRestore llamando a IVssBackupComponents::P reRestore, lo que permite a los escritores prepararse para la restauración real.
Acciones de escritor durante las preparación de la restauración
La preparación del escritor para la operación de restauración se produce al controlar el evento PreRestore con el método virtual CVssWriter::OnPreRestore. La implementación predeterminada simplemente devuelve sin realizar ninguna acción. Los escritores pueden optar por invalidar la implementación predeterminada para ejercer más control mediante:
- Invalidación de métodos de restauración con destinos de restauración
- Definición de destinos dirigidos
- Creación de mensajes de error y datos adicionales
- Suministro de información de stamps de copia de seguridad
El controlador de eventos CVssWriter::OnPreRestore recibe una instancia de IVssWriterComponents, de la que puede obtener interfaces IVssComponent para las de sus componentes incluidos explícitamente en el documento componentes de copia de seguridad durante la copia de seguridad.
Información sobre los subcomponentes incluidos implícitamente en las operaciones de copia de seguridad e incluidos explícitamente en restauraciones mediante una instancia de IVssComponent correspondiente al componente que definió su conjunto de componentes de copia de seguridad.
El método IVssComponent::IsSelectedForRestore se usa para determinar si se va a restaurar un elemento incluido explícitamente para el componente de copia de seguridad.
Para determinar si se incluyó explícitamente un subcomponente de copia de seguridad en la restauración, los escritores usan IVssComponent::GetRestoreSubcomponent.
El escritor debe examinar el conjunto de archivos en cada componente y determinar si necesita realizar acciones para admitir la restauración. El escritor tendrá que evaluar si quiere que se sobrescriban sus archivos actuales, o si requerirá la restauración en nuevas ubicaciones. Las acciones pueden incluir lo siguiente:
- Obtener y actuar en cualquier opción específica del escritor o del solicitante que rige las operaciones de restauración (consulte IVssComponent::GetRestoreOptions)
- Cerrar y hacer que se puedan escribir los archivos abiertos actualmente
- Actualización del destino de restauración (por ejemplo, para forzar la restauración a una asignación de ubicación alternativa). Consulte IVssComponent::SetRestoreTarget.
- Comunicación con el solicitante a través de metadatos privados (consulte IVssComponent::SetRestoreMetadata)
- Indica que se debe restaurar un archivo reasignando a través de la definición de destinos dirigidos (vea IVssComponent::AddDirectedTarget).
La instancia de IVssComponent usada será la creada por la inclusión explícita del componente en el documento componentes de copia de seguridad durante la copia de seguridad, o la del componente que define el conjunto de componentes de copia de seguridad del que era miembro (consulte Working with Selectability For Restore and Subcomponents).