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
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
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
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.

Wednesday, May 12, 2010

Use empty string instead of zeros for failed VLOOKUP

When using VLOOKUP in Excel/NodeXL, you may often get zeros when looking for text and it isn't found. In many cases you may want an empty string instead. For example
=VLOOKUP([@[Vertex 2]],Vertices,COLUMN(Vertices[Flags]),FALSE)
returns 0 when the Flags column for Vertex 2 in the Vertices worksheet is empty. Our tools work better with empty cells. So rather than write something gross like
=IF(VLOOKUP([@[Vertex 2]],Vertices,COLUMN(Vertices[Flags]),FALSE)=0,"",VLOOKUP([@[Vertex 2]],Vertices,COLUMN(Vertices[Flags]),FALSE))
that does the search twice, just use the T function that automatically turns it into text.
=T(VLOOKUP([@[Vertex 2]],Vertices,COLUMN(Vertices[Flags]),FALSE))

Better vlookup for edges in NodeXL

I recently was using NodeXL and had to use VLOOKUP to copy vertex info over to the edge worksheet. Rather than having to deal with obtuse indexes and the like you can refer to the columns and worksheets by name. For example, instead of something like this as your formula
you can use this instead
=VLOOKUP([@[Vertex 1]],Vertices,COLUMN(Vertices[Pub Year]),FALSE)
This uses NodeXL's named worksheets and columns instead. Also, counting offsets can get pretty tedious, especially with how NodeXL hides columns and how many of them there are. By using the COLUMN function you don't have to!