--- That table simulates your Events table
DECLARE @Test2 Table (EventId uniqueidentifier, StartDate datetime, EndDate datetime)
INSERT INTO @Test2 VALUES (NEWID(), '20080101', '20080212')
INSERT INTO @Test2 VALUES (NEWID(), '20080601', '20081212')
-------------------------------
SELECT Test2.EventId,
DateName(dw, DateAdd(dd, Test.Number, Test2.StartDate)) AS DName,
Test2.StartDate,
Test2.EndDate,
DateAdd(dd, Test.Number, Test2.StartDate) AS DNumb
FROM @Test2 Test2
INNER JOIN (SELECT (a.Number * 256) + b.Number AS Number
FROM (SELECT number
FROM master..spt_values
WHERE type = 'P' AND number <= 255) a (Number),
(SELECT number
FROM master..spt_values
WHERE type = 'P' AND number <= 255) b (Number)) Test
ON DateAdd(dd, Test.Number, Test2.StartDate) <= Test2.EndDate
ORDER BY Test2.EventId, 5