从卷影副本中排除文件

在 Windows Vista 和 Windows Server 2008 及更高版本中,VSS 编写器或应用程序的开发人员可能会选择从卷影副本中排除某些文件。

在创建卷影副本后,性能影响和卷影副本存储区域 (也称为 "差异区域" ) 在卷影副本中使用文件时,与文件内容的更改量直接相关。 此外,从卷影副本中排除文件可能会减慢卷影副本的创建。

出于这些原因,只应从卷影副本中排除文件(如果文件很大,在一个卷影副本和下一个卷影副本之间进行重大更改),并且不需要进行备份。

你应仅排除属于你的应用程序的文件。

如果在 _ _ _ _ 卷影复制上下文中未设置 VSS VOLSNAP ATTR,这意味着禁用自动恢复,并且不能从卷影副本中排除任何文件。 有关详细信息,请参阅 _ VSS _ 卷 _ 快照 _ 属性枚举。

使用 AddExcludeFilesFromSnapshot 方法

VSS 编写器可以从卷影副本中排除文件,如下所示:

  1. 调用 IVssCreateWriterMetadataEx:: AddExcludeFilesFromSnapshot 方法以报告要排除的文件。
  2. 在编写器的 CVssWriter:: OnPostSnapshot 方法中,删除卷影副本中的文件。

使用 FilesNotToSnapshot 注册表项

备注

FilesNotToSnapshot 注册表项只供应用程序使用。 尝试使用它的用户将遇到如下所示的限制:

  • 它无法删除在 Windows Server 上使用以前版本功能创建的卷影副本中的文件。
  • 它无法删除共享文件夹的卷影副本中的文件。
  • 它可以从使用 DiskShadow 实用程序创建的卷影副本中删除文件,但无法从使用 Vssadmin 实用程序创建的卷影副本中删除文件。
  • 系统会尽力从卷影副本中删除文件。 这意味着不能保证它们被删除。

VSS 应用程序可以使用以下注册表项在卷影副本创建过程中从卷影副本中删除文件:

HKEY _ 本地 _ 计算机 \ 系统 \ CurrentControlSet \ Control \ BackupRestore \ FilesNotToSnapshot

此注册表项 _ _ 为可排除其文件的每个应用程序提供 REG 多 SZ 值。 文件由完全限定路径指定,这些路径可以包含 * 通配符。

在所有情况下,如果没有与路径字符串匹配的文件,则会忽略条目。

将文件添加到相应的注册表项值后,卷影副本优化编写器在创建过程中将从卷影副本中删除该文件。

如果无法指定完全限定的路径,也可以使用 $UserProfile $ 或 $AllVolumes $ 变量来暗示路径。 例如:

  • $UserProfile $ \ Directory \ 子目录 \ 文件名。*
  • $AllVolumes $ \ TemporaryFiles \ * 。*

若要使路径为递归,请将 "/s" 追加到末尾。 例如:

  • $UserProfile $ \ Directory \ 子目录 \ 文件名 * /s
  • $AllVolumes $ \ TemporaryFiles \ * *

$UserProfile $ 变量会使路径字符串应用于计算机上的所有用户配置文件。 通过检查以下注册表项来枚举用户配置文件:

HKEY _ 本地 _ 计算机 \ 软件 \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList

$AllVolumes $ 变量会使路径字符串应用于计算机上的所有卷影副本。 例如,假定路径为 "$AllVolumes $ \ TemporaryFiles \ * 。 */s ",计算机有三个卷: C:、D:和 E:。 如果 C:和 E:包含路径 " \ TemporaryFiles \ ",而 volume D:只包含路径 d: \ Data \ ,则将 \ \ 从 c:的卷影副本中删除目录树 c: TemporaryFiles,并 \ \ 从 E:. 的卷影副本中删除目录树 E: TemporaryFiles。

管理员可以使用以下注册表项禁用对 $UserProfile $ 变量的扩展:

HKEY _ 本地 _ 计算机 \ 系统 \ CurrentControlSet \ Services \ Vss \ 设置

在此注册表项下,为值名称指定 DisableUserProfileExpansion,为 _ 值类型指定 REG DWORD,并为值数据指定一个非零值。

关于 FilesNotToBackup 注册表项

FilesNotToBackup 注册表项可用于指定备份应用程序不应备份或还原的文件和目录的名称。 但是,它不会从卷影副本中排除这些文件。 有关此注册表项的详细信息,请参阅 备份和还原的注册表项和值