Ausschließen von Dateien aus Schattenkopien

In Windows Vista und Windows Server 2008 und höher kann der Entwickler eines VSS-Writers oder einer VSS-Anwendung bestimmte Dateien aus Schattenkopien ausschließen.

Die Nutzung einer Datei in einer Schattenkopie diff in einer Schattenkopie hängt direkt mit dem Umfang der Änderungen im Inhalt der Datei zusammen, nachdem die Schattenkopie erstellt wurde. Darüber hinaus kann das Ausschließen von Dateien von Schattenkopien die Erstellung von Schattenkopien verlangsamen.

Aus diesen Gründen sollte eine Datei nur dann von Schattenkopien ausgeschlossen werden, wenn sie groß ist, sich zwischen einer Schattenkopie und der nächsten erheblich ändert und nicht gesichert werden muss.

Sie sollten nur Dateien ausschließen, die zu Ihrer Anwendung gehören.

Wenn das flag VSS_VOLSNAP_ATTR_NO_AUTORECOVERY im Schattenkopiekontext festgelegt ist, bedeutet dies, dass die automatische Wiederherstellung deaktiviert ist und keine Dateien von der Schattenkopie ausgeschlossen werden können. Weitere Informationen finden Sie in der _VSS_VOLUME_SNAPSHOT_ATTRIBUTES-Enumeration .

Verwenden der AddExcludeFilesFromSnapshot-Methode

Ein VSS-Writer kann Dateien wie folgt aus einer Schattenkopie ausschließen:

  1. Rufen Sie die IVssCreateWriterMetadataEx::AddExcludeFilesFromSnapshot-Methode auf, um die auszuschließenden Dateien zu melden.
  2. Löschen Sie in der CVssWriter::OnPostSnapshot-Methode des Writers die Dateien aus der Schattenkopie.

Verwenden des Registrierungsschlüssels FilesNotToSnapshot

Hinweis

Der Registrierungsschlüssel FilesNotToSnapshot sollte nur von Anwendungen verwendet werden. Benutzer, die versuchen, den Registrierungsschlüssel zu verwenden, erhalten Einschränkungen wie die folgenden:

  • Es können keine Dateien aus einer Schattenkopie gelöscht werden, die unter Windows Server mit dem Feature „Vorherige Versionen“ erstellt wurden.
  • Es können keine Dateien aus Schattenkopien für freigegebene Ordner gelöscht werden.
  • Es kann Dateien aus einer Schattenkopie löschen, die mit dem DiskShadow-Hilfsprogramm erstellt wurde, aber es kann keine Dateien aus einer Schattenkopie löschen, die mit dem Vssadmin-Hilfsprogramm erstellt wurde.
  • Dateien werden auf Grundlage der besten Leistung aus einer Schattenkopie gelöscht. Das bedeutet, dass Sie nicht unbedingt gelöscht werden.

 

Eine VSS-Anwendung kann Dateien aus einer Schattenkopie während der Erstellung von Schattenkopien löschen, indem sie den folgenden Registrierungsschlüssel verwendet:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot

Dieser Registrierungsschlüssel verfügt über REG_MULTI_SZ Werte für jede Anwendung, deren Dateien ausgeschlossen werden können. Die Dateien werden durch vollqualifizierte Pfade angegeben, die den Platzhalter * enthalten können.

In allen Fällen wird der Eintrag ignoriert, wenn keine Dateien vorhanden sind, die mit der Pfadzeichenfolge übereinstimmen.

Nachdem eine Datei dem entsprechenden Registrierungsschlüsselwert hinzugefügt wurde, wird sie während der Erstellung durch den Optimierungsschreiber für Schattenkopien auf best-effort-Basis aus der Schattenkopie gelöscht.

Wenn kein vollqualifizierter Pfad angegeben werden kann, kann ein Pfad auch mit der Variablen $UserProfile$ oder $AllVolumes$ impliziert werden. Beispiel:

  • $UserProfile$\Directory\Unterverzeichnis\Dateiname.*
  • $AllVolumes$\TemporaryFiles\*.*

Um den Pfad rekursiv zu machen, fügen Sie "/s" an das Ende an. Beispiel:

  • $UserProfile$\Directory\Unterverzeichnis\Dateiname.* /s
  • $AllVolumes$\TemporaryFiles\*.* /s

Die variable $UserProfile$ bewirkt, dass die Pfadzeichenfolge auf alle Benutzerprofile auf dem Computer angewendet wird. Die Benutzerprofile werden aufgelistet, indem Sie den folgenden Registrierungsschlüssel untersuchen:

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

Die variable $AllVolumes$ bewirkt, dass die Pfadzeichenfolge auf alle Schattenkopien auf dem Computer angewendet wird. Angenommen, der Pfad ist "$AllVolumes$\TemporaryFiles\*.* /s", und der Computer verfügt über drei Volumes: C:, D:und E:. Wenn C: und E: den Pfad "\TemporaryFiles\" enthalten, und Volume D: nur den Pfad D:\Data\ enthält, wird die Verzeichnisstruktur C:\TemporaryFiles\ aus Schattenkopien von C: gelöscht, und die Verzeichnisstruktur E:\TemporaryFiles\ wird aus Schattenkopien von E: gelöscht.

Administratoren können die Erweiterung der Variablen $UserProfile$ mithilfe des folgenden Registrierungsschlüssels deaktivieren:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vss\Settings

Geben Sie unter diesem Registrierungsschlüssel DisableUserProfileExpansion für den Wertnamen, REG_DWORD für den Werttyp und einen nonzero-Wert für die Wertdaten an.

Informationen zum Registrierungsschlüssel FilesNotToBackup

Der Registrierungsschlüssel FilesNotToBackup kann verwendet werden, um die Namen der Dateien und Verzeichnisse anzugeben, die Sicherungsanwendungen nicht sichern oder wiederherstellen sollen. Diese Dateien werden jedoch nicht von Schattenkopien ausgeschlossen. Weitere Informationen zu diesem Registrierungsschlüssel finden Sie unter Registrierungsschlüssel und Werte für die Sicherung und Wiederherstellung.