Ciao a tutti,
Ogni tanto ci serve monitorare un’attività specifica, ad esempio un Backup, Restore, DBCC etc… E ci serve avere, eventualmente, pure una stima del tempo che ci vuole per finire quest’attività , giusto? ECCO!
Quindi ho deciso di scrivere questo script tanto tempo fa ed è uno di quelli che fanno parte del mio “coltellino svizzero” di tutti i giorni.
Spero che questo script possa essere utile a voi tanto quanto lo è per me!
-- Bruno Bragatto DBA Senior -- Monitoraggio 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%'