SQL Server CDC для получения изменений в первичных и внешних таблицах в одной транзакции - PullRequest
2 голосов
/ 30 августа 2011

У меня есть сценарий для сбора изменений аудита в системе.У меня есть две таблицы Primary Table и Foreign table с отношением один ко многим.Моя система выполняет аудит данных как одну запись в первичной таблице и более 10 записей ошибок в таблице foregin в одной транзакции.

CDC передает ошибки в двух записях по отдельности, как получить изменения в двух таблицах, используясгруппировать по времени.

Мне необходимо составить отчет об информации столбцов аудита для обеих таблиц, сгруппированных по времени транзакции.

Извините, описание в теории, но не уверен, как представить данные.

1 Ответ

2 голосов
/ 30 августа 2011

У меня есть смутное представление о том, что это невозможно напрямую с использованием LSN, и это сообщение на форуме , похоже, указывает на то, что это так.Единственный другой вариант, который приходит на ум, - это использовать триггеры базы данных и записывать идентификаторы транзакций в записи журнала аудита в явно управляемых таблицах журнала аудита.Вы можете получить идентификатор транзакции в триггере из sys.dm_tran_current_transacton.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...