How to fix Error 11804 on Windows Server 2025 / Windows 11

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 CHECKSUM clause 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 @CheckSum parameter 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-AzSqlServerBackupLongTermRetentionPolicy or the Azure Portal) to reject non-checksummed backup files at ingestion.

Step 4: Purge and Replace the Corrupted Backup Chain

  • Delete the invalid .bak file 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.