Я не совсем понимаю, что вы делаете, но в SQL Server вы можете захватывать строки, которые удаляются, с помощью выходного предложения . Возможно, это то, что вы можете использовать.
-- Table to delete from
declare @T table (id int, name varchar(50))
-- Table to capture the deleted rows
declare @DeletedRows table (id int, name varchar(50))
-- Dummy data
insert into @T values
(1, 'Name1'),
(2, 'Name2'),
(3, 'Name3'),
(4, 'Name4'),
(5, 'Name5')
-- Delete every other row
delete from @T
output deleted.id, deleted.name into @DeletedRows
where id % 2 = 0
select *
from @DeletedRows
Результат - Удаленные строки
id name
----------- --------------------------------------------------
2 Name2
4 Name4