SQL Server Science

Technical Articles for the DBA / Developer

Home

Proving the Restore, Part 6: The Differential Base Has to Match

2026-08-28 · by Hannah Vernon · in recovery

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

2026-08-27 · by Hannah Vernon · in recovery

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:

Transact-SQL
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

2026-08-26 · by Hannah Vernon · in recovery

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 3: The Error That Blames the Wrong Statement

2026-08-25 · by Hannah Vernon · in recovery

A scheduled job that had run for months started failing after a server was upgraded. The message in the job history:

1
2
Msg 3013, Level 16, State 1, Line 1
RESTORE HEADERONLY is terminating abnormally.

Read that as a DBA and you go looking at the backup file:…

Proving the Restore, Part 2: HEADERONLY Changes Shape Between Versions

2026-08-24 · by Hannah Vernon · in recovery

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

2026-08-23 · by Hannah Vernon · in recovery

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…

1 2 … 51 Next »

Search

Categories

  • AI for DBAs
  • announcements
    • events
  • basics
    • localization
  • configuration
  • Data Architecture
  • DMVs
  • documentation
  • extended-events
  • Git for DBAs
  • High Availability
  • Hot Takes
  • Internals
  • maintenance
    • patching
  • Opinion
  • performance
  • PostgreSQL
  • Professional Development
  • recovery
  • reporting
  • ROLLBACK;
  • security
    • data security
  • service broker
  • SQL Server Agent
  • statistics
  • sys
  • t-sql
    • xml
  • tools
    • data masking
    • wsus
  • troubleshooting
  • Uncategorized

Pages

  • About SQL Server Science
  • Get Better Help with a Minimal, Complete, and Verifiable Example, or MCVE
  • Privacy Policy

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.

To find out more, including how to control cookies, see here: Cookie Policy

Copyright © 2026 SQL Server Science