Troubleshooting Guide: SQL Server Error 11804 – Backup Checksum Validation Failure
Why This Error Happens
Error 11804 occurs when SQL Server 2025 attempts to process a backup operation without the CHECKSUM option enabled, which prevents the engine from validating page integrity during the backup process. Without checksum validation, pre-existing page corruption (caused by faulty storage controllers, disk failures, or improper shutdowns) can go undetected and be written directly into the backup file. When this corrupted backup is later restored in an Azure-hosted environment (such as Azure SQL Managed Instance or SQL Server on Azure VMs), the automated backup subsystem detects the integrity mismatch and aborts subsequent automated backup creation to prevent further data degradation.
Step-by-Step Resolution Guide
Step 1: Verify Current Database Page Integrity
- Open SQL Server Management Studio (SSMS) and connect to the affected instance.
- Run
DBCC CHECKDB ('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS;to scan for existing corruption. - Review the output for allocation errors or consistency errors (Msg 8909, 8928, etc.) before proceeding.
Step 2: Re-run the Backup with Checksum Validation Enabled
- Execute a new backup using T-SQL with the
WITH CHECKSUMclause explicitly specified: BACKUP DATABASE [YourDatabaseName] TO DISK = 'C:\Backups\YourDatabaseName.bak' WITH CHECKSUM, STOP_ON_ERROR;- If using Maintenance Plans, open SQL Server Management Studio > Management > Maintenance Plans, edit the Back Up Database Task, and check the “Verify backup integrity” checkbox (this enables checksum under the hood).
- For Ola Hallengren’s maintenance scripts, ensure the
@CheckSumparameter is set to'Y'in the backup job step.
Step 3: Configure Server-Wide Default to Enforce Checksum
- Prevent recurrence by setting the default backup compression and checksum behavior at the instance level.
- In SSMS, right-click the server instance > Properties > Database Settings, and confirm backup-related defaults align with your organization’s integrity policy.
- Alternatively, update any automation scripts, SQL Agent Jobs, or Azure Backup policies (via
Set-AzSqlServerBackupLongTermRetentionPolicyor the Azure Portal) to reject non-checksummed backup files at ingestion.
Step 4: Purge and Replace the Corrupted Backup Chain
- Delete the invalid
.bakfile from local disk (C:\Backups\) and from any Azure Blob Storage container it was uploaded to. - Take a fresh full backup using the corrected syntax from Step 2 to establish a new, valid backup chain.
- If using Azure Backup for SQL Server, trigger a new on-demand backup job from the Azure Portal under Backup Center > Backup Instances to re-register the recovery point.
Alternative or Verification Steps
- Verify the fix: Restore the newly created checksummed backup to a test instance using
RESTORE VERIFYONLY FROM DISK = 'C:\Backups\YourDatabaseName.bak' WITH CHECKSUM;and confirm no errors are returned. - Alternative solution: If corruption persists after re-running checksummed backups, restore from the last known-good backup prior to the corruption event, then apply transaction log backups (also with
CHECKSUM) to roll forward to the desired recovery point.