Row by row insert and update using cursors and catch the error rows in error table.
This is a sample script template to simulate row by row insert in SQL Server and redirect the error rows into an error table.
create table source(iid int);
insert into dest select 3;
select * from source;
declare mycur cursor for select iid from source