Proving the Restore, Part 6: The Differential Base Has to Match
A differential backup contains every extent changed since its base full backup. Not since the last differential, and not since whichever full is newest on disk, but since one specific full backup. Restore it onto…
Proving the Restore, Part 5: Striped Backups Are All or Nothing
Large databases are often backed up across several files at once. Instead of one 800 GB file, you get eight files of about 100 GB, written in parallel:
|
1 2 3 4 5 6 |
BACKUP DATABASE [Sales] TO DISK = N'D:\Backups\Sales_FULL_S00.bak' , DISK = N'D:\Backups\Sales_FULL_S01.bak' , DISK = N'D:\Backups\Sales_FULL_S02.bak' , DISK = N'D:\Backups\Sales_FULL_S03.bak' WITH CHECKSUM, COMPRESSION; |
The motivation is throughput. Several writers…
Proving the Restore, Part 4: Finding Backup Files Without xp_cmdshell
Everything so far assumed you already knew the path to a backup file. Automating any of it means the code has to find the files itself, and SQL Server gives you no documented way to…
Proving the Restore, Part 2: HEADERONLY Changes Shape Between Versions
In I used msdb to find a database whose newest full backup had aged past a week. msdb tells you a backup happened. It doesn’t tell you the file is still readable, or which database…
Proving the Restore, Part 1: The Backup Job Said Success
A maintenance window rebooted a server in the middle of its weekly full backup. The job was killed mid-write, the partial file was discarded, and the next scheduled run was seven days out. Differentials kept…