У меня есть таблица T, которая содержит идентификатор, установленный как идентификатор и первичный ключ. Я включил CDC в таблице, а затем добавил XML-поле, которое мне не нужно было захватывать, поэтому я больше ничего не делал (чтобы воссоздать таблицу захвата и/или перенести старые данные захвата).
Теперь у меня есть хранимая процедура, которая (среди прочего) обновляет только вновь созданное поле (без другого поля) в таблице T. Я заметил, что вместо записи обновления (операция = 3, за которой следует операция = 4), CDC записывает удаление (операция = 1), за которой следует вставка (операция = 2), и все поля одинаковы (конечно, поскольку ни одно из них не было обновлено)
Я действительно заметил это, потому что одно и то же значение идентификатора было вставлено и/или удалено более одного раза, что невозможно (если только идентификатор identity_insert не включен, что не так)
Почему CDC записывает операцию = 1 вместо 3 и операцию = 2 вместо 4? Это где-то задокументировано или это баг?