Поделиться через


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

В 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 можно использовать для указания имен файлов и каталогов, которые приложения резервного копирования не должны выполнять резервное копирование или восстановление. Однако он не исключает эти файлы из теневых копий. Дополнительные сведения об этом ключе реестра см. в разделе ключей и значений реестра длярезервного копирования и восстановления.