Hello everyone,
I'm having an odd issue, that I need some help understanding. I've got a number of tables enabled for Change Data Capture, but I've noticed some behavior that doesn't make sense.
I am utilizing CDC to populate an ODS via SSIS packages, and have noticed a few instances where I'm getting a delete operation come through, but the source record still exists. In the source system, I can query 'cdc.fn_cdc_get_net_changes_...' and see combinations of 1 (delete) and 4 (update new) for the __$operation.
__$start_lsn, __$operation, TableId, ...
0x000BB75700002F250005, 1, 1938241
0x000BB75700002F250005, 4, 1938241
Also, if I query the cdc.<Table>_CT table directly, I see pairs of 1 and 2 (insert) for the same __$start_lsn and __$seqval. How can this happen? If I get *net* changes, shouldn't I only get one record back per the primary key of the source table?
__$start_lsn, __$seqval, __$operation, __$update_mask, TableId, ...
0x000BB75700002E7C0005, 0x000BB75700002E7C0003, 1, 0x0FFF, 1938241
0x000BB75700002E7C0005, 0x000BB75700002E7C0003, 2, 0x0FFF, 1938241
0x000BB75700002F250005, 0x000BB75700002F250003, 1, 0x0FFF, 1938241
0x000BB75700002F250005, 0x000BB75700002F250003, 2, 0x0FFF, 1938241
Let me say, I've got a trace going to see if I can find the command(s) that is causing the duplicate results, but has anyone ever seen this before?
Thanks in advance for your time and help!
Jarret