Definición de componentes por escritores
Los componentes se definen y crean instancias de los escritores en su documento de metadatos de escritor en respuesta a un Identificar evento al principio de una operación de copia de seguridad (vea Información general de la inicialización de copia de seguridad) cuando se rellena el documento de metadatos de escritor.
Al crear un componente en su documento de metadatos de escritor, con IVssCreateWriterMetadata y IVssCreateWriterMetadata::AddComponent, debe especificar un escritor:
- Si el componente se puede seleccionar para la copia de seguridad
- Un tipo de componente
- Un nombre de componente (que debe ser único no solo dentro de una instancia de escritor de determinada sino en todas las instancias de escritor).
- Si el componente tiene metadatos específicos del escritor asociados a él
- Si el escritor requiere una notificación después de una copia de seguridad correcta
Los escritores pueden especificar opcionalmente:
- La ruta de acceso lógica de un componente (que debe ser única no solo dentro de una instancia de escritor determinada, sino en todas las instancias de escritor).
- Descripción de un componente (o título)
- Icono que se va a usar con GUIs para indicar el componente
No es necesario que un componente contenga realmente ningún archivo. Este tipo de componente vacío o "ficticio" puede ser útil para organizar componentes. Este componente se puede usar para definir un conjunto de componentes de y un componente del escritor (consulte Ruta de acceso lógica de componentes).
Configuración de la organización de componentes
Establecer lade selección de un componente (su capacidad de selección parade copia de seguridad y su capacidad de selección para la restauración) y sus rutas de acceso lógicas permite a un escritor exigir o hacer opcional la inclusión de determinados componentes en una operación de copia de seguridad o restauración, y agrupar componentes en conjuntos de componentes con un componente seleccionable que actúe como punto de entrada en todo. grupo.
La pertenencia a estas agrupaciones determina qué componentes se usarán durante las operaciones de copia de seguridad y restauración. El uso de "seleccionable" para que se pueda seleccionar de nuevo para la operación de copia de seguridad y que se pueda seleccionar para restaurar para la operación de restauración, los desarrolladores deben comprender lo siguiente:
- Si se realiza una copia de seguridad de los componentes administrados por un escritor determinado, un solicitante debe incluir explícitamente todos los componentes no seleccionables sin antecesores seleccionables en su ruta de acceso lógica al documento componentes de copia de seguridad y realizar copias de seguridad y restaurar esos componentes como un grupo.
- Un solicitante tiene la opción de agregar explícitamente componentes seleccionables al documento Componentes de copia de seguridad durante las operaciones de copia de seguridad y restauración; Una vez agregado, se debe hacer una copia de seguridad o restaurar el componente.
- Si se puede seleccionar un componente, el componente y todos sus subcomponentes (tal como se define en rutas lógicas) forman un conjunto de componentes, que se puede tratar como una sola unidad que puede participar opcionalmente en las operaciones de copia de seguridad y restauración.
- Un solicitante nunca agrega explícitamente un componente no seleccionable con antecesores seleccionables, un subcomponente en un conjunto de componentes, a su documento de componentes de copia de seguridad durante las operaciones de copia de seguridad y restauración. Estos componentes deben incluirse implícitamente si se agrega explícitamente su antecesor seleccionable, en cuyo caso se deben realizar copias de seguridad o restaurarse (consulte Uso de componentes por el solicitante).
- Un componente seleccionable con un antecesor seleccionable sigue siendo un subcomponente (miembro de un conjunto de componentes) y puede incluirse implícitamente si su antecesor seleccionable se incluye explícitamente en la operación. En este caso, su información no se agrega al documento Componentes de copia de seguridad. Si su antecesor seleccionable no está incluido en la operación, el componente se puede seleccionar explícitamente para su inclusión en la operación, en cuyo caso su información se incluye en el documento Componentes de copia de seguridad.
- Una subcomponente implícitamente incluida en una copia de seguridad se puede incluir explícitamente en una operación de restauración, independientemente del estado de cualquier antecesor seleccionable, si se puede seleccionar para la restauración. Cualquier subcomponente seleccionable incluida durante una operación de restauración debe tener su información agregada al documento Componentes de copia de seguridad.
- Un escritor que no tiene ningún componente agregado explícitamente al documento componentes de copia de seguridad antes de la generación de PrepareForBackup y eventos de PreRestore no recibirán ningún evento VSS adicional.
Para obtener más información, consulte Trabajar con selectibilidad y rutas de acceso lógicas.
Agregar archivos a un componente
Un componente contiene información de archivo en forma de un conjunto de archivos que contiene:
- Directorio raíz de los archivos del componente.
- Especificación de archivo para los archivos del componente.
- Marca que indica si la especificación del componente es recursiva.
Dependiendo del tipo de componente, que puede ser una base de datos o un grupo de archivos, y (en el caso de los componentes de base de datos) si los archivos que se van a cargar son archivos de datos o de registro, un escritor llama a IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFileso IVssCreateWriterMetadata::AddDatabaseLogFiles para agregar un conjunto de archivos.
Al usar estas funciones, debe especificar los archivos que se van a agregar al conjunto de archivos de la siguiente manera:
- wszPath: esta es la ruta de acceso al directorio que contiene los archivos que se van a agregar al conjunto de archivos. Si el parámetro bRecursive se establece en true, el parámetro wszPath especifica una jerarquía de directorios que se recorrerán de forma recursiva y se deben volver a crear todos los directorios, incluidos los directorios vacíos.
- wszFilespec: esta cadena especifica los archivos de cada directorio que se van a agregar al conjunto de archivos.
Por ejemplo, supongamos que existe la siguiente estructura de directorios:
- C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt C:\\Directory1\\Directory3\\
Si el escritor especifica "C:\Directory1" para wszPath, "File1.*" para wszFilespecy true para bRecursive, el solicitante debe incluir estos archivos:
- C:\\Directory1\\File1.txt C:\\Directory1\\Directory2\\File1.txt
Si en su lugar el escritor especifica "C:\Directory1" para wszPath, "*" para wszFilespecy true para bRecursive, el solicitante debe incluir estos archivos:
- C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt
Si el escritor especifica "C:\Directory1" para wszPath, "*" para wszFilespecy false para bRecursive, el solicitante debe incluir estos archivos:
- C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt
En todos los ejemplos anteriores, siempre que el escritor especifique true para bRecursive, se debe volver a crear el directorio vacío C:\Directory1\Directory3\.
Para un conjunto de archivos agregado a un componente de grupo de archivos, en los casos en los que los archivos que están actualmente en disco no están en lo que el escritor consideraría la ubicación adecuada o predeterminada, un escritor tiene la opción de agregar una ruta de acceso alternativa. En estos casos, la definición del conjunto de archivos de la ruta de acceso contiene la ubicación normal de los archivos y a dónde se deben restaurar los archivos, mientras que la ruta alternativa contiene la ubicación actual de los archivos de los que se va a realizar una copia de seguridad.
Todos los archivos del conjunto de archivos deben existir en el momento de la copia de seguridad. Los solicitantes deben suponer que todos los archivos enumerados en el conjunto de archivos son necesarios para la copia de seguridad y producirán un error en la copia de seguridad si faltan archivos. Tenga en cuenta que cuando se especifica "*" para el parámetro wszFilespec, puede coincidir con cero o más archivos.
Tenga en cuenta que tales atributos de documento de metadatos de escritor como asignaciones de ubicación alternativas, archivos incluidos y excluidos explícitamente, y los métodos de restauración se establecen en el nivel de escritor, no en el nivel de componente. (Para obtener más información, vea Trabajar con el documento de metadatos de escritor).
Definición de componentes para operaciones de copia de seguridad y restauración
Tanto las operaciones de restauración como de copia de seguridad generan necesariamente una identificar eventos, y tanto para las copias de seguridad como para las restauraciones se controlarán mediante el mismo método CVssWriter::OnIdentify.
Durante las operaciones de copia de seguridad, los solicitantes usan la información devuelta por los métodos de CVssWriter::OnIdentify para determinar qué escritores están presentes en el sistema y, a continuación, determinar cuáles de sus archivos se van a realizar copias de seguridad.
Durante las operaciones de restauración, la información devuelta por el CVssWriter::OnIdentify evento solo se usa para establecer la identidad y el estado de los escritores presentes actualmente en el sistema; No se usa la información de especificación del archivo generada durante una restauración. En su lugar, los documentos de metadatos de escritor almacenados en el momento de la copia de seguridad se usan para obtener estos datos.
Una vez generada durante una operación de copia de seguridad, la información del componente de escritura, junto con el resto de la información del escritor, se guarda para recuperarse para admitir operaciones de restauración. Normalmente, es responsabilidad del solicitante almacenar esta información.