At 10 pm, I scheduled a SQL Agent job to do a daily backups with the schedule:
- Daily Full: 22:00
- Differential: Every 4 hours
- Log: Every 30 minutes
Now when I check my backup set(let's say at 22:30), I see that a differential backup has happened without any full backup!!.
I was not expecting to see the backup job up and running before 16:00 tomorrow when the first full backup will take place, however, I have a differential backup without a full backup? How is that possible?
Best Answer
It is not possible to perform a differential backup of a database if no previous backup was performed. A DIFF (differential) backup relies on the previous FULL backup.
Reference: Differential Backups (SQL Server) (Microsoft Docs)
Proving the Thesis
You can check this with the following steps:
Create a New Database
The database is created and has not yet been backed up.
Perform a DIFF Backup of The New Database
Output
So if you haven't previously performed a FULL backup, you will be unable to perform a DIFF backup.
Conclusion
After your database was created somebody or a backup solution has performed a backup of your database.
Checking Backup History
You can change the database name in the following script to the name of your database and check the backup history for a backup of the database:
You should see an entry containing a
Full
remark for thebackup_type
column in the result set.You can then analyse when and possibly who/what performed the FULL database backup.