I'm running SQLServer 2005 and have a backup scheduled configured thusly:

A FULL backup runs on each of several databases on Saturday nights at 10pm.
A DIFFERENTIAL backup runs on each of these databases at 10pm every other night of the week.

The first day after a full backup, the differential databases A was ~790MB and on database B was 190MB. The following day, the differential backup on database A was 650MB and on database B was 140MB.

As I understand it, a differential will include all pages that have changed since the last full backup, which given day one was 790MB, would suggest to me that if the database activity was the same the next day (and it is generally close to the same) I would expect the size of the differential to roughly double. At the least I would expect it to grow a fair bit, not shrink by nearly 20%.

I've gone through the event log on the server and there was definitely no more full backups done on the database.

A transaction log backup is done at 9pm every day, so by the time the differential runs the transaction log would be basically empty since activity by that time of the day is generally nothing.

FYI, since i'm just testing this backup setup out I did the latest full backup on Tuesday night rather than Sunday night - so the 790Mb backup was wednesday night and the 650MB backup was thursday night. If I run a differential backup now I end up with a file that's 812Mb.

So I'm all confuzzled... Any ideas why I would see my differentials shrink by so much and then grow?