Waiting for MSSQL Database Restores to complete?

In my current role, we can have a lot of restores in progress during a maintenance window. This handy script allows us to calculate how long the restores will take and when our coffee break will end!

— Check Restores in Progress
SELECT
         r.session_id
        ,r.command
        ,CONVERT(NUMERIC(38,2),r.percent_complete) AS [Percent Complete]
        ,CONVERT(VARCHAR(20),DATEADD(ms,r.estimated_completion_time,GetDate()),20) AS [ETA Completion Time]
        ,CONVERT(NUMERIC(38,2),r.total_elapsed_time/1000.0/60.0) AS [Elapsed Min]
        ,CONVERT(NUMERIC(38,2),r.estimated_completion_time/1000.0/60.0) AS [ETA Min]
        ,CONVERT(NUMERIC(38,2),r.estimated_completion_time/1000.0/60.0/60.0) AS [ETA 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)
                                                        FROM
                                                                sys.dm_exec_sql_text(sql_handle)))
FROM
        sys.dm_exec_requests r
WHERE
        command LIKE ‘%restore%’;
GO

Advertisements
Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: