Monday, 20 February 2012

Restoration or Backup - Percentage Progress


SELECT
r.Session_ID,
r.Command,
CONVERT(NUMERIC(6,2),r.percent_complete) AS [Percent Complete],
CONVERT(VARCHAR(20),
DATEADD(ms,r.estimated_completion_time,GetDate()),20) AS [ETA Completion Time],
CONVERT(NUMERIC(10,2),r.total_elapsed_time/1000.0/60.0) AS [Elapsed Min],
CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0) AS [ETA Min],
CONVERT(NUMERIC(10,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
IN ('RESTORE DATABASE','BACKUP DATABASE')

Decimal to Integer


CREATE FUNCTION [dbo].[Decimal_To_Integer_F] (
@InputValue nvarchar(max)
)
RETURNS BIGINT
AS
BEGIN

DECLARE @DecimalStartPosition int

SET @InputValue = LTRIM(RTRIM(REPLACE(@InputValue,',','')))
SET @DecimalStartPosition = CHARINDEX('.',@InputValue)
SET @InputValue = SUBSTRING(@InputValue,1,@decimalstartposition-1)
SET @InputValue = CAST(@InputValue as BIGINT)

RETURN @InputValue

END