Esclusione di file da copie shadow

In Windows Vista e Windows Server 2008 e versioni successive, lo sviluppatore di un writer o di un'applicazione VSS può scegliere di escludere determinati file da copie shadow.

L'impatto sulle prestazioni e l'area di archiviazione delle copie shadow (denominata anche "area diff") di un file in una copia shadow sono direttamente correlati alla quantità di modifiche nel contenuto del file dopo la creazione della copia shadow. Inoltre, l'esclusione dei file dalle copie shadow può rallentare la creazione della copia shadow.

Per questi motivi, un file deve essere escluso dalle copie shadow solo se è di grandi dimensioni, subisce modifiche significative tra una copia shadow e la successiva e non è necessario eseguire il backup.

È consigliabile escludere solo i file appartenenti all'applicazione.

Se il flag di VSS_VOLSNAP_ATTR_NO_AUTORECOVERY è impostato nel contesto della copia shadow, significa che il ripristino automatico è disabilitato e non è possibile escludere file dalla copia shadow. Per altre informazioni, vedere l'enumerazione _VSS_VOLUME_SNAPSHOT_ATTRIBUTES .

Utilizzo del metodo AddExcludeFilesFromSnapshot

Un writer VSS può escludere file da una copia shadow come indicato di seguito:

  1. Chiamare il metodo IVssCreateWriterMetadataEx::AddExcludeFilesFromSnapshot per segnalare i file da escludere.
  2. Nel metodo CVssWriter::OnPostSnapshot del writer eliminare i file dalla copia shadow.

Uso della chiave del Registro di sistema FilesNotToSnapshot

Nota

La chiave del Registro di sistema FilesNotToSnapshot deve essere usata solo dalle applicazioni. Gli utenti che tentano di usarla incontreranno limitazioni come le seguenti:

  • Non è possibile eliminare file da una copia shadow creata in un server Windows usando la funzionalità Versioni precedenti.
  • Non è possibile eliminare file dalle copie shadow per cartelle condivise.
  • Può eliminare i file da una copia shadow creata usando l'utilità DiskShadow , ma non può eliminare i file da una copia shadow creata usando l'utilità Vssadmin .
  • I file vengono eliminati da una copia shadow in base al massimo sforzo. Ciò significa che non è garantito che vengano eliminati.

 

Un'applicazione VSS può eliminare i file da una copia shadow durante la creazione della copia shadow usando la chiave del Registro di sistema seguente:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot

Questa chiave del Registro di sistema ha REG_MULTI_SZ valori per ogni applicazione i cui file possono essere esclusi. I file vengono specificati da percorsi completi, che possono contenere il carattere jolly * .

In tutti i casi, la voce viene ignorata se non sono presenti file che corrispondono alla stringa di percorso.

Dopo l'aggiunta di un file al valore della chiave del Registro di sistema appropriato, questa viene eliminata dalla copia shadow durante la creazione da parte del writer di ottimizzazione della copia shadow su base ottimale.

Se non è possibile specificare un percorso completo, è possibile includere anche un percorso usando la variabile $UserProfile$ o $AllVolumes$. Ad esempio:

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

Per rendere ricorsivo il percorso, aggiungere "/s" alla fine. Ad esempio:

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

La variabile $UserProfile$ fa sì che la stringa di percorso venga applicata a tutti i profili utente nel computer. I profili utente vengono enumerati esaminando la chiave del Registro di sistema seguente:

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

La variabile $AllVolumes$ fa sì che la stringa di percorso venga applicata a tutte le copie shadow del computer. Si supponga, ad esempio, che il percorso sia "$AllVolumes$\TemporaryFiles\*.* /s" e che il computer abbia tre volumi: C:, D:e E:. Se C: e E: contengono il percorso "\TemporaryFiles\" e il volume D: contiene solo il percorso D:\Data\, l'albero della directory C:\TemporaryFiles\ viene eliminato dalle copie shadow di C:, mentre l'albero della directory E:\TemporaryFiles\ viene eliminato dalle copie shadow di E:.

Gli amministratori possono disabilitare l'espansione della variabile $UserProfile$ usando la seguente chiave del Registro di sistema:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vss\Settings

In questa chiave del Registro di sistema specificare DisableUserProfileExpansion per il nome del valore, REG_DWORD per il tipo di valore e un valore diverso da zero per i dati del valore.

Informazioni sulla chiave del Registro di sistema FilesNotToBackup

La chiave del Registro di sistema FilesNotToBackup può essere usata per specificare i nomi dei file e delle directory che le applicazioni di backup non devono eseguire il backup o il ripristino. Tuttavia, non esclude tali file dalle copie shadow. Per altre informazioni su questa chiave del Registro di sistema, vedere Chiavi e valori del Registro di sistema per backup e ripristino.