What is application-aware backup?
Application-aware backup is a backup method that coordinates with the applications running inside a system before the copy is taken. The application flushes pending writes and brings its files to a consistent state, so the restore point can be started and used without repair or data loss.
Why is consistency a concern?
Databases and mail servers hold recent changes in memory and in transaction logs before writing them to their main data files. A copy of the disk taken at an arbitrary moment captures those files mid-update. The application may recover from that state, as it would after a power failure, or it may not.
| Level | What is captured | Result on restore |
|---|---|---|
| Crash-consistent | Disk contents at one instant | Like restarting after a power loss |
| File-system-consistent | Disk with file system buffers flushed | Files intact, application may need recovery |
| Application-consistent | Disk after the application has quiesced | Application starts cleanly |
How does application-aware backup work?
Before the snapshot, the backup software signals the operating system and the application. On Windows this goes through the Volume Shadow Copy Service, whose writers tell SQL Server, Exchange, Active Directory and others to prepare. On Linux, scripts run before and after the snapshot to freeze and release the application. Once the snapshot exists, the application carries on and the backup reads from the frozen image.
What else does application awareness enable?
Coordination with the application allows more than a clean copy. Transaction logs can be truncated after a successful backup, which stops them filling the disk. Logs can also be backed up between full runs, giving point-in-time recovery to a specific moment. And the backup software can read the application's structure, which makes item-level restore of a single database, mailbox or directory object possible.
When is application-aware backup not required?
Stateless servers, such as web front ends that hold no data of their own, restore well from a crash-consistent copy. Systems whose databases are protected separately by native dumps or log shipping may also not need it at the image level. For anything that stores transactional data and is restored from its image, application awareness is the safer default, and a restore test is the way to confirm it works.
Frequently asked questions
Does application-aware backup slow the application down?
There is a brief pause in writes while the snapshot is taken, usually a few seconds. On very busy databases it should be scheduled for quieter periods.
Is application-aware backup needed for virtual machines?
It is needed for the applications inside them. A hypervisor snapshot alone gives a crash-consistent copy.
What happens if quiescing fails?
Backup software can be set to fail the job or to continue with a crash-consistent copy. The choice should be deliberate and the warning should be visible.
