Excluindo arquivos de cópias de sombra

No Windows Vista e no Windows Server 2008 e posteriores, o desenvolvedor de um gravador ou aplicativo VSS pode optar por excluir determinados arquivos de cópias de sombra.

O impacto no desempenho e a área de armazenamento de cópia de sombra (também chamada de "área de comparação") de um arquivo em uma cópia de sombra estão diretamente relacionados à quantidade de alteração no conteúdo do arquivo após a criação da cópia de sombra. Além disso, a exclusão de arquivos de cópias de sombra pode retardar a criação da cópia de sombra.

Por esses motivos, um arquivo deve ser excluído das cópias de sombra somente se for grande, sofrer alterações significativas entre uma cópia de sombra e a próxima e não precisar fazer backup.

Você só deve excluir arquivos que pertencem ao seu aplicativo.

Se o sinalizador VSS_VOLSNAP_ATTR_NO_AUTORECOVERY estiver definido no contexto de cópia de sombra, isso significa que a recuperação automática está desabilitada e nenhum arquivo pode ser excluído da cópia de sombra. Para obter mais informações, consulte a enumeração _VSS_VOLUME_SNAPSHOT_ATTRIBUTES .

Usando o método AddExcludeFilesFromSnapshot

Um gravador vss pode excluir arquivos de uma cópia de sombra da seguinte maneira:

  1. Chame o método IVssCreateWriterMetadataEx::AddExcludeFilesFromSnapshot para relatar os arquivos a serem excluídos.
  2. No método CVssWriter::OnPostSnapshot do gravador, exclua os arquivos da cópia de sombra.

Usando a chave do registro FilesNotToSnapshot

Observação

A chave do Registro FilesNotToSnapshot deve ser usada somente por aplicativos. Os usuários que tentarem usá-lo encontrarão limitações, como as seguintes:

  • Ela não pode excluir arquivos de uma cópia de sombra criada em um Windows Server usando o recurso Versões Anteriores.
  • Ela não pode excluir arquivos de cópias de sombra para pastas compartilhadas.
  • Ele pode excluir arquivos de uma cópia de sombra que foi criada usando o utilitário DiskShadow , mas não pode excluir arquivos de uma cópia de sombra criada usando o utilitário Vssadmin .
  • Os arquivos são excluídos de uma cópia de sombra com base no melhor esforço. Isso significa que não há garantia de exclusão.

 

Um aplicativo VSS pode excluir arquivos de uma cópia de sombra durante a criação da cópia de sombra usando a seguinte chave do Registro:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot

Essa chave do Registro tem valores REG_MULTI_SZ para cada aplicativo cujos arquivos podem ser excluídos. Os arquivos são especificados por caminhos totalmente qualificados, que podem conter o caractere curinga * .

Em todos os casos, a entrada será ignorada se não houver arquivos que correspondam à cadeia de caracteres de caminho.

Depois que um arquivo é adicionado ao valor de chave do Registro apropriado, ele é excluído da cópia de sombra durante a criação pelo gravador de otimização de cópia de sombra em uma base de melhor esforço.

Se um caminho totalmente qualificado não puder ser especificado, um caminho também poderá ser implícito usando a variável $UserProfile$ ou $AllVolumes$. Por exemplo:

  • $UserProfile$\Directory\Subdirectory\FileName.*
  • $AllVolumes$\TemporaryFiles\*.*

Para tornar o caminho recursivo, acrescente " /s" ao final. Por exemplo:

  • $UserProfile$\Directory\Subdirectory\FileName.* /s
  • $AllVolumes$\TemporaryFiles\*.* /s

A variável $UserProfile$ faz com que a cadeia de caracteres de caminho seja aplicada a todos os perfis de usuário no computador. Os perfis de usuário são enumerados examinando a seguinte chave do Registro:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList

A variável $AllVolumes$ faz com que a cadeia de caracteres de caminho seja aplicada a todas as cópias de sombra no computador. Por exemplo, suponha que o caminho seja "$AllVolumes$\TemporaryFiles\*.* /s", e o computador tenha três volumes: C:, D:e E:. Se C: e E: contêm o caminho "\TemporaryFiles\", e o volume D: contém apenas o caminho D:\Data\, a árvore de diretório C:\TemporaryFiles\ é excluída das cópias de sombra de C:, e a árvore de diretório E:\TemporaryFiles\ é excluída das cópias de sombra do E:.

Os administradores podem desabilitar a expansão da variável $UserProfile$ usando a seguinte chave do Registro:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vss\Settings

Sob essa chave do Registro, especifique DisableUserProfileExpansion para o nome do valor, REG_DWORD para o tipo de valor e um valor diferente de zero para os dados de valor.

Sobre a chave do Registro FilesNotToBackup

A chave do Registro FilesNotToBackup pode ser usada para especificar os nomes dos arquivos e diretórios que os aplicativos de backup não devem fazer backup nem restaurar. No entanto, ele não exclui esses arquivos de cópias de sombra. Para obter mais informações sobre essa chave do Registro, consulte Chaves e Valores do Registro para Backup e Restauração.