Skip to main content

MSSQL | Cannot perform a differential backup... because a current database backup does not exist

MSSQL | Cannot perform a differential backup... because a current database backup does not exist

Problem description:

SQL differential backups fail persistently, even when triggering manual backup attempts from the Druva Phoenix management console.

When reviewing the job details or Phoenix agent logs, the backup job terminates with Status: Failed alongside one or more of the following error identifiers:

  • Job Error Code: SQL112

  • SQL Native Error Code: 3035

  • VDI Error Code: 100000005

  • Error Message: Cannot perform a differential backup for database "<Database_Name>", because a current database backup does not exist. Perform a full database backup by reissuing BACKUP DATABASE, omitting the WITH DIFFERENTIAL option.

Cause:

A differential backup relies on an unbroken chain linking back to the most recent full backup. SQL Server tracks this relationship using the Differential Base Log Sequence Number (LSN). If SQL Server detects that the base LSN has reset or changed since the last full backup taken by Druva Phoenix, subsequent differential backups will fail. Common triggers that reset the Differential Base LSN outside of Druva include:

  • External Full Backups: A third-party backup application, hypervisor-level application-aware snapshot (e.g., VMware/Hyper-V quiesced snapshots), or ad-hoc native SQL backup executed without the WITH COPY_ONLY parameter.

  • Structural Database Changes: Adding or dropping database files, or detaching and reattaching the database.

  • Database Recovery Operations: Running repair routines such as DBCC CHECKDB with REPAIR_ALLOW_DATA_LOSS.

Note: Administrative changes such as altering the SQL Server Database Compatibility Level or toggling Transparent Data Encryption (TDE) do not reset the differential base LSN and do not cause this error.

Traceback:

Cannot perform a differential backup for database 'msdb', because a current database backup does not exist. Perform a full database backup by reissuing BACKUP DATABASE, omitting the WITH DIFFERENTIAL option.

Job Logs:

2026-07-06 03:01:53 | Starting Differential backup operation  2026-07-06 03:02:52 | Previous backup metadata fetched successfully  2026-07-06 03:03:09 | Estimated Data: 187.59 MB  2026-07-06 03:03:20 | VDI Backup started for 3 databases  2026-07-06 03:05:27 | Ending Job with Status: 'Failed' Error Code: SQL112

Agent Logs:

VDI error Code: 100000005  SQL Native Error Code: 3035  Error Message: Cannot perform a differential backup for database "msdb", because a current database backup does not exist.

Resolution

1. Re-establish the Differential Base Backup

  1. Open the Druva Phoenix Management Console.

  2. Navigate to your MS SQL workload, select the affected instance/database, and manually trigger a Full Backup.

  3. Allow the full backup job to complete successfully. This action establishes a new base LSN recorded by both SQL Server and Druva Phoenix.

  4. Subsequent scheduled or ad-hoc differential backups will now link to this new base and run normally.

2. Prevent External LSN Chain Disruptions

  1. Audit External Backup Utilities: Identify and disable any third-party backup utilities, native SQL maintenance plans, or VM-level application-aware snapshots that take independent full backups of the SQL databases.

  2. Mandate COPY_ONLY for Ad-hoc Backups: If native manual full backups are required for maintenance or staging purposes, enforce the COPY_ONLY clause so the existing differential base is not invalidated:

    BACKUP DATABASE [<Database_Name>]  TO DISK = N'<BackupFilePath>.bak'  WITH COPY_ONLY, STATS = 10;

Verification

  1. In SQL Server Management Studio (SSMS), run the following query against the affected database to identify the current differential base LSN and backup timestamp:

    SELECT  d.name AS DatabaseName, d.differential_base_lsn, d.differential_base_guid,     b.backup_finish_date AS LastBaseBackupDate FROM sys.master_databases d LEFT JOIN msdb.dbo.backupset b ON d.differential_base_lsn = b.checkpoint_lsn WHERE d.name = '<Database_Name>';
  2. Manually trigger a Differential Backup from the Druva Phoenix Console.

  3. Verify that the backup job transitions to Successful with error code SQL112 resolved.

See also

Did this answer your question?