Make sure the constraints on both prod and preprod are really the same including the state of the constraint, as in ...
1. DISABLE / ENABLE
2. NOVALIDATE / VALIDATE
Edit: Also, keep in mind that TRUNCATE will not cause any TRIGGERs to fire as happens with DELETE (depending on the code in the trigger, of course). So if you are copying one or more tables and the unique constraint error comes from some other table that is not TRUNCATEd, then that may be the cause.
I am trying to use the Database Copy Wizard to refresh the data in our preprod from our prod. I have selected the option to truncate destination data before copying. Still, I get a Unique Constraint Error, even though there are the same constraints on prod. Any thoughts.
I don't see any 'Unique Constraint Error' in what you posted. Are you sure you posted it?
You can NOT truncate a table with an enabled foreign constraint. So if you have parent/child tables you can't truncate the parent unless you first disable the constraint.