I am trying to get a handle on just how the "Detect delete" works coming out of table compare and for my testing I actually expect it to delete all target rows that are not in my source.
In the attached example I filter to pull just one row from my source in the first query transform. In my table compare I then have 'Detect Deleted Rows....' selected.
Coming out of that I would expect to see all of my target rows except the one I filtered to be marked as delete and sent to the 'Identify_Deletes' map operation where I discard everything except the deletes. Going from the 'Identify_Deletes' right to my target shouldn't these rows then be deleted?
Note that there is a 2nd table compare in this dataflow because I am using the first one to identify only those records that have changed to try and speed up performance. I am finding that if I do other operations on the output of that first table compare I am losing the map_operations setting of I or U which is why I do the 2nd table compare.