Yay. I got one right.
Personally I'd simplify this one like this:
DATEADD(YEAR, N, CONVERT(DATE, v.HolidayDate)) AS HolidayDate,
FROM (VALUES ('12/25/2016', 'Christmas Day')) AS v (HolidayDate, HolidayName)
CROSS JOIN (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) vTally(n);
"I cant stress enough the importance of switching from a sequential files mindset to set-based thinking. After you make the switch, you can spend your time tuning and optimizing your queries instead of maintaining lengthy, poor-performing code."
-- Itzik Ben-Gan 2001