Sql-server – SSIS Merge Join: Delete does not work

data flowmergesql serversql-server-2016ssis

I've set up a Data Flow Task to sync a flat file with its destination table using a Merge Join with a Left Outer Join as described here (and elsewhere).

enter image description here

Merge Join:
enter image description here

Inserting and Updating works fine, however, deleting a record from the flat file does nothing.

I guess it's something with the Conditional Split: delete ISNULL(gid_csv) && !ISNULL(gid)

enter image description here

or the following SQL Command: DELETE FROM dbo.gusers WHERE gid = ?

enter image description here

The OLE DB Source and the three destinations are accessing the same table.

What do I miss?

Best Answer

The answer is actually pretty easy:

You have to use a Full Outer Join instead of a Left Outer Join in the Merge Join Task.

The referenced tutorials actually told me to do so, I guess I mixed it up with another tutorial that did not include the merge delete.