In the Free and Workstation editions, Veeam Agent for Microsoft Windows retains restore points for the last N days. The number of days in the period is defined by the user. During every backup job session, Veeam Agent for Microsoft Windows checks if there is any obsolete restore point in the backup chain. If some restore point is obsolete, it is removed from the chain.
For retention policy settings, Veeam Agent for Microsoft Windows takes into account not calendar days but days on which backup files were successfully created. If Veeam Agent creates several restore points in a day, this day still counts in the retention period as one day.
The retention period does not include the day when the latest restore point is created. Thus, if you specify daily backup schedule, the number of restore points in the backup chain will be greater than the number of days specified for the retention period.
For example, you have configured the backup job in the following way:
- The backup job runs daily.
- The retention policy is set to 5 days.
By the end of Tuesday, the backup job has successfully run 3 times and created 3 restore points in the backup chain. After that, you have turned off your computer for 10 days. When you turn on your computer on Saturday, Veeam Agent for Microsoft Windows runs a backup job by schedule and creates a new restore point. The earliest restore point, however, is not removed from the backup chain. At the end of a new backup job session, the backup chain will have only 4 restore points created during 4 days when the backup job was successfully run.
On Monday, Veeam Agent for Microsoft Windows creates the sixth restore point but does not remove an obsolete restore point immediately. The day when the sixth (latest) restore point has been created is the day that is not included in the retention period. As a result, although the retention policy is set to 5 days, the backup chain will contain 6 restore points.
When removing obsolete restore points, Veeam Agent for Microsoft Windows does not simply delete backup files from disk. It transforms the backup chain so that the backup chain always contains a full backup file on which subsequent incremental backup files are dependent. To maintain the consistency of the backup chain, Veeam Agent for Microsoft Windows uses the following rotation scheme:
- During every backup job session Veeam Agent for Microsoft Windows adds a backup file to the backup chain and checks if there is an obsolete restore point.
- If an obsolete restore point exists, Veeam Agent for Microsoft Windows transforms the backup chain. As part of this process, it performs the following operations:
- Veeam Agent for Microsoft Windows re-builds the full backup file to include in it data of the incremental backup file that follows the full backup file. To do this, Veeam Agent for Microsoft Windows injects into the full backup file data blocks from the earliest incremental backup file in the chain. This way, a full backup ‘moves’ forward in the backup chain.
- The earliest incremental backup file is removed from the chain as redundant: its data has already been injected into the full backup file, and the full backup file includes data of this incremental backup file.
If the backup chain contains several obsolete restore points, the rebuild procedure is similar. Data from several restore points is injected to the re-built full backup file. This way, Veeam Agent for Microsoft Windows makes sure that the backup chain is not broken, and you will be able to recover your data to any restore point.