Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to check some old data. I need to check data from last night compared to data today.

I am going to use SQL Data Compare to do this but I need to setup a fresh database to restore the backup to so I can compare it against the existing database.

My question is if I have a full backup from 4-5 days ago, and a .dif for each day after that up until today, do I need ALL the .difs up to the point I want to restore or will the .dif from that day be sufficient? I assume I will need the most recent .bak as a basis for the new DB?

share|improve this question
up vote 4 down vote accepted

A differential backup contains all the changes made to the database since the last full backup.

You only need to restore the full backup and the last differential one.

share|improve this answer
How do I restore the .dif once I get the new DB up and running from the .bak? I keep getting this error: "The log or differential backup cannot be restored because no files are ready to rollforward. – ioSamurai Aug 26 '10 at 19:58
@Ryan: have a look at this MSDN article: – squillman Aug 26 '10 at 20:09
@Ryan: when you restore the full backup, you should select the option that say something similar to "I have to restore additional backups, don't bring the database fully online". The exact name of the option changes with the SQL Server version, in 2008 R2 it's "Leave the database non-operational, and do not roll back the uncommitted transactions. Additional transaction logs can be restored.". – Massimo Aug 26 '10 at 20:16
thanks, this worked:… – ioSamurai Aug 26 '10 at 21:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.