sys.dm_exec_requests te halen.
- percent_complete
- Dit geeft aan hoeveel procent het process is gevorderd
- estimated_completion_time
- Dit is het aantal geschatte milliseconden dat het nog duurt voordat het proces klaar is. Met behulp van de functie
DATEADDkan de eindtijd berekend worden:SELECT DATEADD(ms, estimated_completion_time, CURRENT_TIMESTAMP)
- Tijd die nog nodig is
- Dit is de eindtijd minus de huidige tijd
- Looptijd tot nu toe
- dit is de huidige tijd minus de begintijd
- Benodigde tijd
- Dit is de eindtijd minus de begintijd
DATEDIFF functie gebruikt, kun jezelf
bepalen in welke eenheid dit wordt weergegeven.Voorbeeld van een script wat processen weergeeft met een geschatte eindtijd:
with CTE as ( select session_id , UPPER(command) as [operation] , cast(t.text as XML) as sql_text , wait_type , percent_complete , start_time , dateadd(ms, estimated_completion_time, getdate()) as end_time from sys.dm_exec_requests a CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) AS t where percent_complete > 0 ) select session_id , [operation] , sql_text , wait_type , percent_complete , start_time , end_time , datediff(second, getdate(), end_time) as sec_remaining , datediff(second, start_time, getdate()) sec_running , datediff(second, start_time, end_time) as sec_needed from cte;