Il y a 86 400 000 millisecondes dans une journée, vous pouvez donc obtenir une valeur de temps aléatoire en procédant comme suit :
select dateadd(millisecond, cast(86400000 * RAND() as int), convert(time, '00:00'))
Pour votre exemple où vous voulez des heures entre 8h00 et 9h00, il y a 3 600 000 millisecondes dans une heure, alors modifiez la requête comme ceci.
select dateadd(millisecond, cast(3600000 * RAND() as int), convert(time, '08:00'))
Afin de mettre dans votre nouvelle table, vous pouvez soit faire une boucle T-SQL avec des mises à jour (s...l...o...w...), soit faire un SELECT INTO
de votre tableau d'origine dans un nouveau tableau.