This week I had a chance to speak with a customer who raised concerns that their backups were completed according to their backup application but Exchange was not showing that a successful full backup had occurred. In this instance, the customer was utilizing backup software that had a centralized media server with agents installed on each server they wished to protect. To verify the success of the backups the customer was referencing the logs created on the backup server and using the get-mailboxdatabase –status command (get-mailboxdatabase –server <NAME> –status | fl name,*backup*).
[PS] C:\>Get-MailboxDatabase -Server MBX-1 -Status | fl name,*BACKUP*
Name : MBX-1-DB0 BackupInProgress : False SnapshotLastFullBackup : True SnapshotLastIncrementalBackup : SnapshotLastDifferentialBackup : SnapshotLastCopyBackup : True LastFullBackup : 3/2/2012 9:00:11 PM LastIncrementalBackup : LastDifferentialBackup : LastCopyBackup : 1/9/2011 2:18:44 PM RetainDeletedItemsUntilBackup : False
The backup jobs that were configured contained multiple database instances to be backed up. For example, instead of having 10 jobs each with a database instance to be backed up there was a single backup job that contained all 10 databases. At certain times the backup server would lose the connection to the agent on the protected server. This resulted in the backup aborting on the server and Exchange cleaning up the backup sessions. When reviewing the logs created by the backup software it was noted that sometimes multiple databases had actually been successfully written to the media server (the job was partially successful). Although the backup software shows individual database success when looking at the output from the Exchange cmdlets there was not adjustment in the last full backup time for the database as backup complete was never notified.
In order for any backup times to be adjusted, the backup software must notify both VSS and Exchange with a backup complete notification. Each vendor is responsible for defining when to send a backup complete notification. In this example, a backup complete notification is only called when all databases within the defined job have been streamed to the media server. Vendors may choose to treat multiple database instances as part of a single job individually and call backup complete per database. In some cases, administrators may need to define multiple individual backup jobs containing single databases instance. This avoids a condition where a single database backup failure in a larger job can cause all databases to fail backup. When in doubt, refer to your vendor for recommendations on how to implement appropriate backup jobs for Exchange 2010 databases.