Good one SS!
might want to modify it slightly to include starting month?
;with Numbers (Number) as
(select row_number() over (order by object_id)
from sys.all_objects)
select dateadd(month, number-1, @StartDate)
from Numbers
where number-1<= datediff(month, @StartDate, @EndDate)