Advertisement
cbossie

SQL Server Recovery Progress

Jul 8th, 2020
1,423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.20 KB | None | 0 0
  1. DECLARE @DBName VARCHAR(64) = 'Pricing'
  2. DECLARE @ErrorLog AS TABLE([LogDate] CHAR(24), [ProcessInfo] VARCHAR(64), [TEXT] VARCHAR(MAX))
  3. INSERT INTO @ErrorLog
  4. EXEC master..sp_readerrorlog 0, 1, 'Recovery of database', @DBName
  5. INSERT INTO @ErrorLog
  6.  
  7. EXEC master..sp_readerrorlog 0, 1, 'Recovery completed', @DBName
  8.  
  9. SELECT TOP 1
  10.     @DBName AS [DBName]
  11.    ,[LogDate]
  12.    ,CASE
  13.       WHEN SUBSTRING([TEXT],10,1) = 'c'
  14.       THEN '100%'
  15.       ELSE SUBSTRING([TEXT], CHARINDEX(') is ', [TEXT]) + 4,CHARINDEX(' complete (', [TEXT]) - CHARINDEX(') is ', [TEXT]) - 4)
  16.       END AS PercentComplete
  17.    ,CASE
  18.       WHEN SUBSTRING([TEXT],10,1) = 'c'
  19.       THEN 0
  20.       ELSE CAST(SUBSTRING([TEXT], CHARINDEX('approximately', [TEXT]) + 13,CHARINDEX(' seconds remain', [TEXT]) - CHARINDEX('approximately', [TEXT]) - 13) AS FLOAT)/60.0
  21.       END AS MinutesRemaining
  22.    ,CASE
  23.       WHEN SUBSTRING([TEXT],10,1) = 'c'
  24.       THEN 0
  25.       ELSE CAST(SUBSTRING([TEXT], CHARINDEX('approximately', [TEXT]) + 13,CHARINDEX(' seconds remain', [TEXT]) - CHARINDEX('approximately', [TEXT]) - 13) AS FLOAT)/60.0/60.0
  26.       END AS HoursRemaining
  27.    ,[TEXT]
  28. FROM @ErrorLog ORDER BY CAST([LogDate] as datetime) DESC, [MinutesRemaining]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement