Recomiendo encarecidamente una tabla de calendario para esto, especialmente si necesita tener en cuenta días festivos específicos. Calcular la Semana Santa de forma dinámica, por ejemplo, va a ser un fastidio real.
Si va a usar T-SQL solo, tenga cuidado al usar funciones que dependen de la configuración regional/de idioma para la salida de cosas como DATENAME
...