Estimate Backup and Restore Completion Time in SQL Server

When a database backup or restore is running, one of the first questions is simple:

How long does it have left?

SQL Server exposes estimated completion information for active backup and restore operations. You can query it directly to see progress, elapsed time, and an approximate finish time without guessing or relying on external tooling.

This post shows a simple, reliable way to surface that information using system DMVs.


When This Is Useful

You typically run this when:

  • A backup or restore is taking longer than expected
  • You are waiting to bring a database online
  • A maintenance window is tight
  • Someone is asking for an ETA during an incident

This query works only while the operation is actively running.


Estimate Backup and Restore Completion Time

Run the query below to see progress and estimated completion time for active backup and restore operations.

SQL Server showing estimated completion time and percent complete for a running database backup or restore
Estimated completion time and progress for an active backup or restore operation in SQL Server

How to Read the Output

Key columns to watch:

  • percent_complete
    Current progress of the operation.
  • running_time
    How long the operation has been running so far.
  • estimated_time_remaining
    SQL Server’s best estimate of time left.
  • estimated_completion_time
    Approximate finish time based on current progress.

These values are estimates, not guarantees.


Important Notes

A few things to keep in mind:

  • Estimates can change as workload or I/O conditions change
  • Percent complete may stall for periods of time
  • Very early in an operation, estimates can be inaccurate
  • This only shows operations that are currently running

If nothing is returned, there is no active backup or restore.


Related Checks

This query is often used alongside:

👉 Get Last Database Backup Times in SQL Server
👉 Get Last Database Restore Date and Time in SQL Server
👉 Kill All User Sessions on a Database in SQL Server

Together, these cover most backup and restore workflows.


Final Thoughts

This query is not about optimisation or tuning. It is about visibility.

When a backup or restore is running, knowing how long it has left helps you plan, communicate clearly during incidents, and avoid guesswork under pressure.

It’s a small script, but one that earns its place in a DBA’s everyday toolkit.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *