Прошло много времени с тех пор, как я это сделал, но вы можете запросить журнал транзакций, используя sys.fn_dblog
.ПРИМЕЧАНИЕ. Это основано на ограничениях, которые вы описали ... было бы намного лучше использовать таблицу аудита и триггер.
В зависимости от того, когда обрезанный транзакционный_лог, вы можете сделать то, что пытаетесь сделать, с чем-то вроде следующего:
SELECT
[Current LSN],
[Transaction ID],
[Operation],
[Transaction Name],
[CONTEXT],
[AllocUnitName],
[Page ID],
[Slot ID],
[Begin Time],
[End Time],
[Number of Locks],
[Lock Information]
FROM sys.fn_dblog(NULL,NULL)
WHERE Operation IN
('LOP_INSERT_ROWS','LOP_BEGIN_XACT','LOP_COMMIT_XACT')
Каждая транзакция вставки будет иметь связанную строку для операции'LOP_BEGIN_XACT' и 'LOP_COMMIT_XACT', и будет иметь одну или несколько строк для операции 'LOP_INSERT_ROWS'.Если вы присоединитесь к связанным строкам в [ID транзакции], то вы можете отфильтровать дату начала в [Время начала].
Имейте в виду, что после обрезания журнала все ставки отключены, поэтому это может не произойти.быть полезным для вас.
Небольшая справка по журналам транзакций: ссылка .