Conteúdo do documento de metadados do gravador
O Documento de Metadados do Gravador contém três conjuntos de dados: informações de classificação e identificação do gravador, especificações no nível do gravador e dados do componente.
Informações de identificação do gravador
As informações de identificação e classificação do gravador incluem o seguinte:
- Nome do gravador
- ID da classe de gravador
- Instância do gravador
- Como os dados gerenciados pelo gravador são usados no sistema de host (consulte VSS_USAGE_TYPE)
- O tipo de dados gerenciados pelo gravador (consulte VSS_SOURCE_TYPE)
Com exceção da instância do gravador, que é exclusiva e é gerada pelo sistema quando um objeto CVssWriter é inicializado, todos esses valores são definidos por um gravador quando ele chama CVssWriter::Initialize e estão disponíveis para um solicitante chamando IVssExamineWriterMetadata::GetIdentity.
Como a instância de gravador é gerada exclusivamente, uma instância de gravador armazenada recuperada de um documento de metadados de gravador armazenado provavelmente não será útil.
Ao verificar VSS_USAGE_TYPE, um aplicativo pode determinar se um gravador está gerenciando dados gerais do aplicativo ou se os arquivos com os quais ele funciona fazem parte do estado de inicialização do sistema ou são usados por um serviço do sistema. Backup e restaurar aplicativos precisam respeitar os tipos de uso para ajudar a manter a estabilidade do sistema.
O sinalizador VSS_SOURCE_TYPE indica que tipo de aplicativo o gravador que gerencia os dados a serem realizados durante a operação normal.
Atualmente, a distinção está limitada a especificar se o gravador produz arquivos como parte de operações de banco de dados transacionais ou não transacionais ou se os arquivos são o resultado de um tipo mais geral de atividade. Essa lista pode crescer ao longo do tempo. Essas informações podem ser úteis para determinar o nível comum de atividade esperado nos arquivos de um gravador.
Especificação de Writer-Level
As especificações no nível do gravador contêm informações que são de todo o gravador em seu escopo, aplicando-se a todos os dados independentes de qual componente o gerencia.
Um gravador deve sempre especificar métodos de restauração.
Opcionalmente, ele pode especificar o seguinte:
- Excluir lista de arquivos
- Mapeamentos de localização alternativos para restauração
As listas de arquivos de inclusão e exclusão contêm informações de arquivo além disso nos componentes e sua especificação substitui a especificação do componente.
Especificação do método Restore
O método de restauração é definido no Documento de Metadados do Gravador por IVssCreateWriterMetadata::SetRestoreMethod e recuperado por um solicitante com IVssExamineWriterMetadata::GetRestoreMethod.
Ao definir um método de restauração, um gravador indica a maneira preferencial de restauração de arquivo, também conhecida como destino de restauração original, para todos os arquivos gerenciados por um gravador. Por exemplo, o método de restauração especifica se todos os arquivos gerenciados por um gravador devem ter permissão para substituir arquivos atualmente no disco. (Consulte configurações de restauração do VSS e VSS_RESTOREMETHOD_ENUM para obter mais informações.)
Excluir Especificação da Lista de Arquivos
A lista de exclusões permite o ajuste fino de especificações curinga em componentes, impedindo explicitamente que determinados arquivos sejam incluídos em um conjunto de backup.
Por exemplo, um componente pode ter um conjunto de arquivos que contém uma especificação de arquivo de c:\Database\*.*. Embora essa seja uma definição conveniente, ocasionalmente pode haver arquivos temporários gerados (talvez do formulário *.tmp) e o gravador sempre deseja impedir seu backup.
Nesse caso, um gravador adicionaria *.tmp à sua lista de exclusões usando IVssCreateWriterMetadata::AddExcludeFiles. Essa especificação pode ser recursiva.
Um solicitante consultaria essas informações usando IVssExamineWriterMetadata::GetExcludeFile.
A lista de arquivos de exclusão tem precedência sobre listas de arquivos de componente.
Assim, a lista de arquivos especificados para backup em um Documento de Metadados do Gravador consistiria em todos os arquivos especificados nos componentes incluídos explicitamente e nos componentes incluídos implicitamente , menos todos os arquivos excluídos.
Especificação de mapeamentos de localização alternativos
Mapeamentos de localização alternativos são inicialmente definidos durante a criação de um Documento de Metadados do Gravador e indicam um local no disco para o qual os arquivos podem ser restaurados se a restauração de um arquivo para o local original não for possível.
As informações são adicionadas como uma cadeia de caracteres larga terminada em nulo com IVssCreateWriterMetadata::AddAlternateLocationMapping e recuperadas como um objeto IVssWMFiledesc por IVssExamineWriterMetadata::GetAlternateLocationMapping.
Apesar de os mapeamentos de localização alternativos serem especificados e examinados usando as interfaces no nível do gravador (IVssCreateWriterMetadata e IVssExamineWriterMetadata), eles são especificados em termos de conjuntos de arquivos. O conjunto de arquivos usado para especificar um mapeamento de local alternativo (caminho, especificação de arquivo e sinalizador de recursão) deve corresponder a um dos conjuntos de arquivos já adicionados a um dos componentes do gravador (consulte Adicionar arquivos aos componentes).
Para obter mais informações, consulte Locais de restauração e Backup não padrão.
informações de Component-Level
Os componentes são coleções de arquivos que formam uma unidade lógica para fins de backup e restauração. Todos os arquivos em um componente (exceto aqueles explicitamente excluídos) devem ser copiados e restaurados como uma unidade.
Os gravadores adicionam componentes usando IVssCreateWriterMetadata::AddComponent, especificando as seguintes informações de componente:
- Type
- Nome
- Caminho lógico (se houver)
- Recurso com suporte
- Selectability
- Metadados a serem usados pelo gravador durante a restauração
- Exibir informações
- Informações de notificação
A selebilidade de backup e a selebilidade para restauração são completamente independentes umas das outras, e um gravador as usa em conjunto com caminhos lógicos para indicar relações entre os vários componentes que gerencia. Os gravadores podem indicar quais componentes são necessários para serem incluídos explicitamente (aqueles que podem ser explicitamente incluídos a critério de um solicitante) e aqueles que só podem ser incluídos implicitamente. (Consulte Trabalhar com Selebilidade e Caminhos Lógicos.)
Os arquivos são adicionados a um determinado componente usando IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles ou IVssCreateWriterMetadata::AddDatabaseLogFiles. (Consulte a adição de arquivos aos componentes.)
Ao adicionar arquivos a um componente durante o backup, um gravador deve especificar um conjunto de arquivos (um caminho, uma especificação de arquivo e um sinalizador de recursão) que define os arquivos a serem copiados.
Os gravadores também podem especificar um caminho alternativo para backup, que não deve ser confundido com mapeamentos de localização alternativos mencionados anteriormente. Esse caminho alternativo indica um local não padrão do qual os arquivos devem ser copiados quando um volume é feito em backup.
Informações sobre um determinado componente no Documento de Metadados do Gravador podem ser obtidas por meio de uma interface IVssWMComponent retornada por IVssExamineWriterMetadata::GetComponent.
Os arquivos e caminhos são retornados em IVssWMComponent como objetos IVssWMFiledesc .
As informações de componente de um gravador são discutidas detalhadamente na Definição de Componentes por Gravadores.