Вот решение с использованием таблицы подсчета
DECLARE @StartDate date = '2011-06-28'
DECLARE @EndDate date = '2011-07-02'
SELECT right(convert(varchar, dateadd(day,number,@Startdate), 111), 2)
FROM master..spt_values
WHERE type = 'P' AND number BETWEEN 0 AND DATEDIFF(DAY, @StartDate, @EndDate)
Вы должны знать, что это ограничено 2047 днями. Если вам нужно больше, вы должны подумать о рекурсивном.