SELECT
DB_NAME(er.[database_id]) [DatabaseName],
er.[session_id] AS [SessionID],
er.[command] AS [CommandType],
est.[text] [StatementText],
er.[status] AS [Status],
er.[percent_complete],
CONVERT (
DECIMAL (5, 2),
er.[percent_complete]
) AS [Complete_Percent],
start_time,
CONVERT (
DECIMAL (38, 2),
er.[total_elapsed_time] / 60000.00
) AS [ElapsedTime_m],
CONVERT (
DECIMAL (38, 2),
er.[estimated_completion_time] / 60000.00
) AS [EstimatedCompletionTime_m],
er.[last_wait_type] [LastWait],
er.[wait_resource] [CurrentWait]
FROM
sys.dm_exec_requests AS er
INNER JOIN sys.dm_exec_sessions AS es ON er.[session_id] = es.[session_id] CROSS APPLY sys.dm_exec_sql_text (er.[sql_handle]) est
WHERE er.[command] IN( 'RESTORE DATABASE' ,'BACKUP DATABASE')