INSERT INTO DataStaging_Archive (URN, DateProcessed, AnotherColumn, LastRemainingColumn) SELECT URN, DateProcessed, AnotherColumn, LastRemainingColumn FROM ( DELETE TOP (@Batchsize) -- note: no order by, rows picked at random, see BOL FROM DataStaging ds OUTPUT deleted.URN, deleted.DateProcessed, deleted.AnotherColumn deleted.LastRemainingColumn ) AS D
SET ROWCOUNT 20000 DELETE from .... OUTPUT DELETED.* into ........SET ROWCOUNT 0