Try This
declare @setting date;
set @setting = GETDATE()
--select @setting
;WITH WEEKS AS(
SELECT DATEADD(D, - DATEPART (WEEKDAY,@setting)+2, @setting) AS START_DATE, @setting AS END_DATE, 1 AS WEEKNO
UNION ALL
SELECT DATEADD(D,-7,START_DATE),DATEADD(D,-1,START_DATE), WEEKNO + 1
FROM weeks WHERE WEEKNO < 1
)
or
refer
http://www.sqlfiddle.com/#!3/19086/44