begin transaction
  insert into t2 select * from t1 where datadiff(day, time, getdate()) > 30
  if @@error <> 0 
  begin
    rollback
    return
  end
  delete t1 where datadiff(day, time, getdate()) > 30
  if @@error <> 0 
  begin
    rollback
    return
  end
commit
go