debugsqlMinor
How can I fix "Cannot perform a differential backup ... a current database backup doesn't exist"?
Viewed 0 times
fixcannotcanexistdatabaseperformdoesndifferentialcurrenthow
Problem
We recently switched to the
The problem is, the differential backups don't always seem to work. The error message recorded in the job history is
Executed as user: username. ... 9.00.3042.00 for 32-bit
Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started: 11:20:12 AM Progress: 2013-01-25 11:20:13.90 Source:
{450389BA-54C2-4892-9CD0-0126CA9B0ED8} Executing query "DECLARE
@Guid UNIQUEIDENTIFIER EXECUTE msdb..sp".: 100% complete End
Progress Error: 2013-01-25 11:20:14.40 Code: 0xC002F210
Source: Back Up Database (Differential) Execute SQL Task
Description: Executing the query "BACKUP DATABASE [MyDatabase] TO
DISK = N'E:\Database Backups\MyDatabase_backup_201301251120.diff'
WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME =
N'MyDatabase_backup_20130125112014', SKIP, REWIND, NOUNLOAD, STATS =
10 " failed with the following error: "Cannot perform a differential
backup for database "MyDatabase", because a current database backup
does not exist. Perform a full database backup by reissuing BACKUP
DATABASE, omitting the WITH DIFFERENTIAL option. BA... The package
execution fa... The step failed.
The full backup job completes successfully every time, and I can view it in
Here's a look at the job history I have:
1/16 - Full Backup - Success
1/17 - Differential Backup - Success
1/18 - Differential Backup - Success
1/19 - Differential Backup - Success
1/20 - Full Backup - Success
1/21 - Differential Backup - Failure
1/21 - Differential Backup - Failure
1/22 - Full Backup - Success
1/22 - Differential Backup - Failure
1/22 - Reboot
1/23 - Differential Backup - Success
1/23 - Reboot
1/24 - Differential Backup -
FULL recovery model, with full backups being done every weekend, and differentials being taken every day.The problem is, the differential backups don't always seem to work. The error message recorded in the job history is
Executed as user: username. ... 9.00.3042.00 for 32-bit
Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started: 11:20:12 AM Progress: 2013-01-25 11:20:13.90 Source:
{450389BA-54C2-4892-9CD0-0126CA9B0ED8} Executing query "DECLARE
@Guid UNIQUEIDENTIFIER EXECUTE msdb..sp".: 100% complete End
Progress Error: 2013-01-25 11:20:14.40 Code: 0xC002F210
Source: Back Up Database (Differential) Execute SQL Task
Description: Executing the query "BACKUP DATABASE [MyDatabase] TO
DISK = N'E:\Database Backups\MyDatabase_backup_201301251120.diff'
WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME =
N'MyDatabase_backup_20130125112014', SKIP, REWIND, NOUNLOAD, STATS =
10 " failed with the following error: "Cannot perform a differential
backup for database "MyDatabase", because a current database backup
does not exist. Perform a full database backup by reissuing BACKUP
DATABASE, omitting the WITH DIFFERENTIAL option. BA... The package
execution fa... The step failed.
The full backup job completes successfully every time, and I can view it in
msdb.dbo.backupset using the query found here, so I know it exists. And it looks like after a reboot, the differential back up does complete successfully up until the next full backup.Here's a look at the job history I have:
1/16 - Full Backup - Success
1/17 - Differential Backup - Success
1/18 - Differential Backup - Success
1/19 - Differential Backup - Success
1/20 - Full Backup - Success
1/21 - Differential Backup - Failure
1/21 - Differential Backup - Failure
1/22 - Full Backup - Success
1/22 - Differential Backup - Failure
1/22 - Reboot
1/23 - Differential Backup - Success
1/23 - Reboot
1/24 - Differential Backup -
Solution
If something is taking a snapshot behind the scenes that breaks SQL differential backups causing a full to need to be taken before a new differential. You can either stop whatever is taking the snapshot or ensure you're taking a full backup afterwards before you try to do a differential. If you use Ola Hallengren's Maintenance Solution that can automatically change a diff to a full when it runs into this scenario.
Context
StackExchange Database Administrators Q#33560, answer score: 6
Revisions (0)
No revisions yet.