[SCRIPT] – Monitorar Backup, Restore, DBCC etc… com ETA

Às vezes precisamos monitorar uma atividade específica, por exemplo, um Backup, Restore, DBCC etc… E também precisamos ter, possivelmente, um tempo estimado de término (ou ETA) que leva para finalizar esta atividade, certo?
Então decidi escrever esse script muito tempo atrás, e é um daqueles que fazem parte do meu “canivete suíço” do dia a dia.

--Monitorar Backup, Restore, DBCC Table Check, DBCC

SELECT r.session_id,s.login_name,DB_NAME(r.database_id) as database_name, r.command,CONVERT(NUMERIC(20,2),r.percent_complete)
AS [PERCENT Complete],CONVERT(VARCHAR(20),DATEADD(ms,r.estimated_completion_time,GETDATE()),20) AS [ETA COMPLETION TIME],
CONVERT(NUMERIC(20,2),r.total_elapsed_time/1000.0/60.0) AS [Elapsed MIN],
CONVERT(NUMERIC(20,2),r.estimated_completion_time/1000.0/60.0) AS [ETA MIN],
CONVERT(NUMERIC(20,2),r.estimated_completion_time/1000.0/60.0/60.0) AS [ETA Hours],
s.status,
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) END)
FROM sys.dm_exec_sql_text(sql_handle))) as 'Script'
FROM sys.dm_exec_requests r left join sys.dm_exec_sessions s on (s.session_id = r.session_id) 
WHERE command LIKE 'BACKUP%' OR command LIKE 'RESTORE%' OR command LIKE 'DBCC%' OR command LIKE '%INDEX%' OR command LIKE '%STATISTICS%' OR command LIKE '%ALTER%'

Sobre mim

Bruno Bragatto graduou-se em Automação Industrial pelo IFSP, pós-graduado em Banco de Dados Oracle pela FIAP e é Oracle Database 11g Administrator Certified Associate e Microsoft MCSA – SQL 2016 Database Administration.


OCA - Oracle 11g Database Administrator