Skip to content

Instantly share code, notes, and snippets.

@Laim
Last active July 28, 2021 14:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Laim/cd24ccf92b77ff9fa3a819455b4f7f26 to your computer and use it in GitHub Desktop.
Save Laim/cd24ccf92b77ff9fa3a819455b4f7f26 to your computer and use it in GitHub Desktop.
/*
Modified version of https://blog.sqlauthority.com/2017/03/12/get-status-running-backup-restore-sql-server-interview-question-week-113/
Author: Laim McKenzie
Available from https://gist.github.com/laim
Copyright (c) 2021 laim.scot
*/
SELECT r.session_id AS [Session_Id]
,r.command AS [command]
,CONVERT(NUMERIC(6, 2), r.percent_complete) AS [% Complete]
,CONVERT(VARCHAR(20), DATEADD(ms, r.estimated_completion_time, GetDate()), 20) AS [Estimated Completion Time]
,CONVERT(NUMERIC(32, 2), r.total_elapsed_time / 1000.0 / 60.0) AS [Elapsed Minutes]
,CONVERT(NUMERIC(32, 2), r.total_elapsed_time / 1000.0 / 60.0 / 60.0) AS [Elapsed Hours]
,CONVERT(NUMERIC(32, 2), r.estimated_completion_time / 1000.0 / 60.0) AS [Estimated Completion Minutes]
,CONVERT(NUMERIC(32, 2), r.estimated_completion_time / 1000.0 / 60.0 / 60.0) AS [Estimated Completion Hours]
,CONVERT(VARCHAR(1000), (
SELECT SUBSTRING(TEXT, r.statement_start_offset / 2, CASE
WHEN r.statement_end_offset = - 1
THEN 1000
ELSE (r.statement_end_offset - r.statement_start_offset) / 2
END) 'Statement text'
FROM sys.dm_exec_sql_text(sql_handle)
)) AS [CommandText]
FROM sys.dm_exec_requests r
WHERE command like 'RESTORE%' or command like 'BACKUP%'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment