Como criar a hora de verão e as funções Start e End no SQL Server

Eu preciso criar uma função no SQL server que retorna horário de verão start datetime e horário de verão final datetime.

Eu me deparei com alguns exemplos na web, no entanto, todos eles estão usando a primeira data de março e a primeira data de novembro e isso não é tecnicamente correto.

O horário de verão começa às 2h do segundo domingo de março e termina às 2h do primeiro domingo de novembro.

Eu comecei com o código abaixo, mas tenho certeza que está errado. Qualquer ajuda é apreciada! :)

DECLARE @DSTSTART DATETIME

SELECT @DSTSTART = CASE WHEN 
DATEPART(MONTH, SYSDATETIME()) = 3
AND DATEPART(weekday, SYSDATETIME()) = 1
AND DATEDIFF(week,dateadd(week, datediff(week, 0, dateadd(month, datediff(month, 0, SYSDATETIME()), 0)), 0), SYSDATETIME() - 1) = 2
AND DATEPART(HOUR, SYSDATETIME()) = 2
THEN SYSDATETIME()
END
RETURN (@DSTSTART)
END
GO

questionAnswers(4)

yourAnswerToTheQuestion