I have quite a lot of experience with databases.
Backups of databases are usually done in the background with no user intervention and with automated scripts.
However if you really want a progress bar, you can try timing previous backups saving a history of timed backups in a file or registry, factor in database size in bytes and use that as a reference for the progress. Then you use TTimer to update the progress bar.