Friday, October 29, 2010

Full/Incremental Backup Cutoff in Windows 7 Backup

I couldn't understand why the Windows 7 Backup would sometimes do incremental backups and other times full ones. After much searching, here's what I found on the TechNet Forums:
We have introduced automatic full backup feature in Windows7 to help customers who run into a situation where they never create full backups. When their backup target eventually gets filled, they are left with only one backup set to delete. They need to delete the entire backup set to resume backups and so end up in a situation where they do not have any backup.

The rules that determine when to take automatic full backup are:
1. If previous full backup was taken 1 year back
2. Ratio of size of deleted files + older versions of files in current backup set is 50% or more of the size of the current backup if it were full.

We deliberately did not allow forcibly starting new backup set or configuring these rules through our UI because we did not want to confuse users about full backups, incremental backups, automatic full backups.

If you find that these settings do not match your requirements, we allow the defaults to be tweaked using registry keys.

Registry key to control enable/disable automatic switching to full backup:
Path: SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup\AutomaticFullBackup
Name: Enabled
Type: DWORD
Value: 0 indicates automatic full backup is disabled, non-zero indicates it is enabled
Default if not specified: 1
Registry key to control the time period when backup should automatically switch to full:
Path: SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup\AutomaticFullBackup
Name: TimePeriodInDays
Type: DWORD
Value: Count of days
Default if not specified: 365
Registry key to control the % of deleted/missing + older versions of files that determines whether to switch to full backup:
Path: SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup\AutomaticFullBackup
Name: OlderFilesSizePercentage
Type: DWORD
Value: Percentage value from 0 to 100
Default if not specified: 50
...
A lower value for OlderFilesSizePercentage would mean the automatic full backup would trigger earlier than when it would trigger if this key was not set. Hope that is clear.

To clarify on your question on incremental backups to network storage location:
Windows Backup supports incremental backup to network storage locations. This is true for file backup as well as system image backup.

However in case of system image backup, Windows Backup supports only preserving the latest version of the system image backup. This is because system image backup versions currently are maintained as shadow copy versions of the backup target volume containing the backups. Since shadow copy cannot be created on network shares, it is not possible to support multiple versions of system image when taken to network share.
Example command line usage:
wbadmin start backup -vssfull -backuptarget:y: -include:c:,d:
This would only support taking a block-level backup of the entire volumes included in backup in client SKUs. (That is why if you have noticed, you can only include full volumes as part of "wbadmin start backup"). So this does not end up creating a new backup 'period' for the file backups.

5 comments:

  1. I've also read that Backup does offer a user-selectable Full Backup option, but only if you are backing up to CD/DVD media. Microsoft had to offer this in case you ever lose a disk from your backup set.

    ReplyDelete
  2. Good stuff Cody. A very useful article. I wanted to force a full backup every 30 days, and this does the job.
    Many thanks.

    ReplyDelete
  3. Very useful info! Do you know by any chance where are these registry keys in Windows 8.1. I searched buy I cannot find them...

    ReplyDelete
  4. There is a registry entry you can set to tell Windows Backup how often to create a new Backup Set with a new full backup (as opposed to incremental backups every time). However Windows Backup has no functionality to delete older Backup Sets which accumulate and use up all the disk space, so I have written a script to prune older directories (by default leaving only two Backup Sets).

    https://github.com/Sophist-UK/WindowsScripts/tree/master/PruneBackups

    ReplyDelete