declare @rows int, @err int select @rows = 1 set rowcount 50000 -- in 50K chunks begin tran while @rows > 0 begin delete from dbo.SensorValueHistory where select @rows = @@rowcount, @err = @@error commit tran -- check @err here for non zero, error handling is for wimps ;-) -- if @rows >0 begin tran end