4

I restored a backup file (it's used as a template for new databases) as a new database. Normally as part of this process, I take a full backup after the restore, but this time I was called away on another issue before I could do that and in the meantime, my regularly scheduled differential backup job ran. It successfully took a differential backup of this database without throwing any errors. Conversely, the log backup job failed correctly reporting there was no full backup available.

I have read in multiple places that you cannot take either a differential or a log backup without a full, so why is this particular database allowing a diff? Has anyone else ever encountered this behavior?

Katherine Villyard
  • 18,550
  • 4
  • 37
  • 59
Eyespi20
  • 41
  • 2

1 Answers1

5

It may seem counter-intuitive, but it's counting the full you restored it from as the last full backup.

This is a really good diagram to show what I'm talking about.

enter image description here

I got that image from this article on restore chains and not breaking them, and the rest of the article is also really good. (In short: Copy only is your friend.)

Katherine Villyard
  • 18,550
  • 4
  • 37
  • 59
  • 1
    You'll even see evidence of the restored database's backup status in the backup* take in msdb; the information is imported from the backup header on restore. – Ben Thul Mar 14 '15 at 15:36