/******************************************************************/ /**** Database Backup / Restore percentage Completion Report *****/ /******************************************************************/ USE MASTER GO SELECT Command AS 'Command', ds.Text AS 'Query', start_time AS 'StartTime', percent_complete AS 'Percentage_Completed', CAST(((DATEDIFF(s,start_time,GetDate()))/3600)as varchar(10))+' hour(s), ' + CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar(10))+'min, ' + CAST((DATEDIFF(s,start_time,GetDate())%60)as varchar(10))+' sec' AS 'Running_Time', CAST((estimated_completion_time/3600000)as varchar(10))+' hour(s), ' + CAST((estimated_completion_time %3600000)/60000 as varchar(10))+'min, ' + CAST((estimated_completion_time %60000)/1000 as varchar(10))+' sec' AS 'Estimated_Time_To_Go', DATEADD(second,estimated_completion_time/1000,getdate()) AS 'Estimated_Completion_Time' FROM SYS.DM_EXEC_REQUESTS R CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) ds WHERE R.Command in ('RESTORE DATABASE', 'BACKUP DATABASE', 'RESTORE LOG', 'BACKUP LOG');