Если вы не хотите полагаться на таблицу или рекурсивные CTE, используйте несколько перекрестных объединений. Если вам нужно больше чисел для вашей последовательности, просто добавьте больше перекрестных объединений - вы можете быстро преодолеть несколько миллионов.
DECLARE @start_date AS DATETIME = '2012-02-02';
WITH L0 AS (SELECT 1 AS C UNION ALL SELECT 1), -- 2
L1 AS (SELECT L0.C FROM L0 CROSS JOIN L0 AS B), -- 4
L2 AS (SELECT L1.C FROM L1 CROSS JOIN L1 AS B), -- 16
L3 AS (SELECT L2.C FROM L2 CROSS JOIN L2 AS B), -- 256
L4 AS (SELECT L3.C FROM L3 CROSS JOIN L3 AS B), -- 65536
L5 AS (SELECT L4.C FROM L4 CROSS JOIN L4 AS B), -- Alot
N AS (SELECT ROW_NUMBER() OVER(ORDER BY L5.C) AS n FROM L5),
D AS (SELECT DATEADD(SECOND, n - 1, @start_date) AS d, n FROM N)
SELECT d from D where n <= (60 * 60 * 24)