You may try following also:
;with seq as (
select top (3000000) N = row_number() over (order by @@spid) - 1 from sys.all_columns c1, sys.all_columns c2
)
INSERT INTO Table_1 (q, w, e, r, t, y)
select
right('0000000000' + cast(N as varchar(10)), 10)
,p.InsertDate
,DATEADD(dd, 1, p.InsertDate)
,DATEADD(dd, 2, p.InsertDate)
,DATEADD(dd, 3, p.InsertDate)
,DATEADD(dd, 4, p.InsertDate)
from seq
cross apply (select DATEADD(dd, ROUND(((@Upper - @Lower -1) * RAND(checksum(newid())) + @Lower), 0), GETDATE())) p(InsertDate)