Very simple script that queries a DMV to get an estimate of backup duration
/* DESCRIPTION: Queries the dm_exec requests and gives you an estimate of how long a backup/restore request is going to take Configuration: No Configuration needed Compatibility list: MSSQL2005 MSSQL2008 MSSQL2008R2 MSSQL2012 DOES NOT WORK MSSQL2000 Update Log: */ USE MASTER SELECT session_id as SPID , r.command , a.text AS Query , start_time , percent_complete , dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time , estimated_completion_time/1000/60 as time_left_mins , r.blocking_session_id , r.wait_type FROM SYS.DM_EXEC_REQUESTS r CROSS APPLY SYS.DM_EXEC_SQL_TEXT(r.sql_handle) a WHERE 1=1 and r.command in ('BACKUP DATABASE','BACKUP LOG','RESTORE DATABASE','RESTORE LOG')