Пол Рэндал писал об использовании недокументированной функции, чтобы выяснить, кто отбросил таблицу с помощью журнала транзакций , возможно, вы сможете использовать ту же концепцию.
В своем посте он искал пропущенный стол, поэтому я поиграл с ним в моей локальной системе и обнаружил, что вы будете фильтровать для WHERE [Tranaction Name] = 'DELETE'
, для удаления записи из таблицы.
Итакэтот запрос:
SELECT [Current LSN], [Begin Time], SPID, [Database Name], [Transaction Begin], [Transaction ID], [Transaction Name], [Transaction SID], Context, Operation
FROM ::fn_dblog (null, null)
WHERE [Transaction Name] = 'DELETE'
GO
Возвращает этот вывод
Current LSN Begin Time SPID Database Name Transaction Begin Transaction ID Transaction Name Transaction SID Context Operation
00000474:00000239:0001 2012/03/06 10:09:19:547 58 NULL NULL 0001:000a67be DELETE 0x010500000000000515000000628ADB6E31CC6098F269B2B9F8060000 LCX_NULL LOP_BEGIN_XACT