Исключение файлов из теневых копий

В Windows Vista и Windows Server 2008 и более поздних версиях разработчик модуля записи VSS или приложения может исключить определенные файлы из теневых копий.

Влияние на производительность и область хранения теневого копирования (также называемая "областью diff") для файла в теневой копии напрямую связаны с объемом изменений в содержимом файла после создания теневой копии. Кроме того, исключение файлов из теневых копий может замедлить создание теневых копий.

По этим причинам файл следует исключить из теневых копий только в том случае, если он большой, он существенно изменяется между одной теневой копией и следующей и не требует резервного копирования.

Следует исключать только файлы, принадлежащие приложению.

Если флаг VSS_VOLSNAP_ATTR_NO_AUTORECOVERY установлен в контексте теневого копирования, это означает, что автоматическое восстановление отключено и файлы не могут быть исключены из теневой копии. Дополнительные сведения см. в перечислении _VSS_VOLUME_SNAPSHOT_ATTRIBUTES .

Использование метода AddExcludeFilesFromSnapshot

Модуль записи VSS может исключить файлы из теневой копии следующим образом:

  1. Вызовите метод IVssCreateWriterMetadataEx::AddExcludeFilesFromSnapshot, чтобы сообщить об исключаемых файлах.
  2. В методе CVssWriter::OnPostSnapshot модуля записи удалите файлы из теневой копии.

Использование раздела реестра FilesNotToSnapshot

Примечание

Раздел реестра FilesNotToSnapshot предназначен для использования только приложениями. Пользователи, пытающиеся использовать этот раздел, сталкиваются с приведенными ниже ограничениями.

  • Он не может удалять файлы из теневой копии, созданной на Windows Server, с помощью функции "Предыдущие версии".
  • Он не может удалить файлы из теневых копий общих папок.
  • Он может удалять файлы из теневой копии, созданной с помощью служебной программы DiskShadow , но не может удалять файлы из теневой копии, созданной с помощью служебной программы Vssadmin .
  • Файлы удаляются из теневой копии при наличии соответствующих ресурсов и возможностей. Это означает, что их удаление не гарантируется.

 

Приложение VSS может удалять файлы из теневой копии во время создания теневого копирования с помощью следующего раздела реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot

Этот раздел реестра содержит REG_MULTI_SZ значения для каждого приложения, файлы которого можно исключить. Файлы задаются полными путями, которые могут содержать подстановочный знак *.

Во всех случаях запись игнорируется, если нет файлов, соответствующих строке пути.

После добавления файла в соответствующее значение раздела реестра он удаляется из теневой копии во время создания модулем оптимизации теневой копии.

Если не удается указать полный путь, то путь также можно использовать с помощью переменной $UserProfile$ или $AllVolumes$. Пример:

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

Чтобы сделать путь рекурсивным, добавьте в конец "/s". Пример:

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

Переменная $UserProfile$ приводит к применению строки пути ко всем профилям пользователей на компьютере. Профили пользователей перечисляются путем проверки следующего раздела реестра:

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

Переменная $AllVolumes$ приводит к применению строки пути ко всем теневым копиям на компьютере. Например, предположим, что путь — "$AllVolumes$\TemporaryFiles\*.* /s", а компьютер имеет три тома: C:, D:и E:. Если C: и E: содержат путь "\TemporaryFiles\", а том D: содержит только путь D:\Data\, дерево каталогов C:\TemporaryFiles\ удаляется из теневых копий C:, а дерево каталогов E:\TemporaryFiles\ удаляется из теневых копий E:.

Администраторы могут отключить расширение переменной $UserProfile$, используя следующий раздел реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vss\Settings

В этом разделе реестра укажите DisableUserProfileExpansion для имени значения, REG_DWORD для типа значения и ненулевое значение для данных значения.

Сведения о разделе реестра FilesNotToBackup

Раздел реестра FilesNotToBackup можно использовать для указания имен файлов и каталогов, которые приложения резервного копирования не должны архивировать или восстанавливать. Однако эти файлы не исключаются из теневых копий. Дополнительные сведения об этом разделе реестра см. в разделе Разделы реестра и значения для резервного копирования и восстановления.