


I haven't not able to get the Exchange to backup the database in consistent state. I ran the job with VSS integration enable and the VSS backup was successful. However, when I restore the Exchange database backup to the server by the file level restore mode. The database is in "Dirty Shut Down" state when I run the command "ESEUTIL /mh priv1.edb" to check the consistency of the database. The the database is in "Dirty Shutdown" state, it needs to be repaired by the command "ESEUTIL /p priv1.edb" before the database can be mounted on the server.
Here is the sample output.
C:\Temp>cd mdbdata
C:\Temp\mdbdata>dir
Volume in drive C has no label.
Volume Serial Number is E033-0B44
Directory of C:\Temp\mdbdata
08/19/2009 10:41 PM <DIR> .
08/19/2009 10:41 PM <DIR> ..
08/19/2009 10:40 PM 10,493,952 priv1.edb
08/19/2009 10:40 PM 4,202,496 priv1.stm
08/19/2009 10:40 PM 16,785,408 pub1.edb
08/19/2009 10:40 PM 2,105,344 pub1.stm
4 File(s) 33,587,200 bytes
2 Dir(s) 12,821,794,816 bytes free
C:\Temp\mdbdata>eseutil /mh priv1.edb
Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating FILE DUMP mode...
Database: priv1.edb
File Type: Database
Format ulMagic: 0x89abcdef
Engine ulMagic: 0x89abcdef
Format ulVersion: 0x620,11
Engine ulVersion: 0x620,11
Created ulVersion: 0x620,9
DB Signature: Create time:08/11/2009 01:45:42 Rand:2062566 Computer:
cbDbPage: 4096
dbtime: 66324 (0x10314)
State: Dirty Shutdown
Log Required: 6-6 (0x6-0x6)
Streaming File: Yes
Shadowed: Yes
Last Objid: 808
Scrub Dbtime: 0 (0x0)
Scrub Date: 00/00/1900 00:00:00
Repair Count: 0
Repair Date: 00/00/1900 00:00:00
Old Repair Count: 0
Last Consistent: (0x6,7E,196) 08/17/2009 18:12:15
Last Attach: (0x6,80,16) 08/17/2009 18:12:16
Last Detach: (0x0,0,0) 00/00/1900 00:00:00
Dbid: 1
Log Signature: Create time:08/11/2009 01:45:39 Rand:2066147 Computer:
OS Version: (5.2.3790 SP 2)
Previous Full Backup:
Log Gen: 4-4 (0x4-0x4)
Mark: (0x4,14D2,2E)
Mark: 08/13/2009 22:01:17
Previous Incremental Backup:
Log Gen: 0-0 (0x0-0x0)
Mark: (0x0,0,0)
Mark: 00/00/1900 00:00:00
Current Full Backup:
Log Gen: 0-0 (0x0-0x0)
Mark: (0x0,0,0)
Mark: 00/00/1900 00:00:00
Current Shadow copy backup:
Log Gen: 0-0 (0x0-0x0)
Mark: (0x0,0,0)
Mark: 00/00/1900 00:00:00
cpgUpgrade55Format: 0
cpgUpgradeFreePages: 0
cpgUpgradeSpaceMapPages: 0
ECC Fix Success Count: none
Old ECC Fix Success Count: none
ECC Fix Error Count: none
Old ECC Fix Error Count: none
Bad Checksum Error Count: none
Old bad Checksum Error Count: none
Operation completed successfully in 3.32 seconds.
C:\Temp\mdbdata>
When I look at the backup process in the Veeam console, it appears the backup job script create a VMware shapshot first, and than Quieces the VM by the VMware tools and finally VSS the OS inside the VM. After these three steps, the Veeam starts to backup the VMDK files.
I think when the script creates the VMware snapshot, it will stop disk witing to the VMDK files and create a seperate shatshot file to store all disk writing activity. Once the shapshot is created, nothing can write anything into the original VMDK files. The backup job will attempt to backup the "Frozen" VMDK files while it's not being written. When the backup is done, the script released the snapshot file and commits all changes back to the original VMDK file.
I believe the problem is the following:
1. When the snapshot is being created, the VSS hasn't started yet. If the VSS is not running, the Exchange database is in a Read/Write mode which is in an inconsisten state and stores in the original VMDK file. This VMDK file will be backed up later.
2. When the script starts the VSS process, it only VSS the active staging file which is the snapshot file. However, this snapshot file is not going to be backed up.
I was looking around the software to see if there is a way can make the VSS process happen before the snapshot process.
???