My ObjectID field are showing unique as well. My target dataset was created as a blank FC on the sde. My input dataset was from AGOL. I did eventually download it from AGOL with the same results of Append failing. When I look at the index for the AGOL dataset the Global is set to "Yes" for unique. When I look at my target the GlobalID is set to "No" and I had to manually create the new index and set unique to "Yes". I'm assuming the append must be looking at this index for the GlobalID field and was failing because the settings between the two indexes did not match up between the two classes.
I just tried this in Pro, and it worked with no index at all for GlobalID. Indexing is only used for speeding up queries so it makes sense that an index shouldn't actually be required in order to append data to a field. I tried adding a GlobalID field in ArcCatalog, and it also generates an index for the field with Unique marked as 'No'. I really don't think the index has anything to do with it. Are you using File Geodatabases, SDE geodatabases, or Personal Geodatabases?
I've been doing this in File Geodatabases, so I just tried this out in SDE with all 3 scenarios of index, and they all worked:
I can't replicate the issue with index scenarios. It would be interesting to see if you can create a new FC in SDE, add GlobalIDs, and then append the data again for each of those indexing scenarios I just outlined above.
If yours works with the "index, Unique = Yes", and not the other two below it, that would be an interesting result. I would then repeat the experiment with a File Geodatabase target instead of SDE.
But if you can successfully preserve GlobalIDs across all 3 index scenarios in SDE, then my guess would be that something was corrupted with the original feature class index you witnessed the non-preservation of GlobalIDs with, and that by deleting the original index and recreating it, the corruption disappeared along with the bad index, and it has nothing to do with "Unique = Yes/No".
If you're happy with the result you have now, by no means feel you need to satisfy my curiosity about the scenario. My motivation is find where the flaw is. It's how I roll. 😉
So the only scenario I could get to work correctly was by manually creating an index with GlobalID set to 'unique' within the SDE. For some reason when I try it in a File gdb, It wont allow my to create the index with the GlobalID set to 'unique'. There must be something going on with the data I am trying to backup and how the GlobalID field are being created. It seems that it is the only thing causing an issue when trying to preserve the GlobalID for the incoming data and it wants to be extra touchy.
I'll have to keep messing around to see if I can narrow it down any further.
Thanks a lot for this! I got stuck on it today. Append just fails right away without it.
This post is over 2 years old and this is still broken!
I heard from another team here this has been a ArcMap bug since 10.0 and was fixed in 10.6.1 (so a long time). Seems to still be in Pro however.
Alex Friant I love your solution and updated post, and tried those steps to a T, but still got the generic 999999 error. Have preserve Global IDs checked, changed field to GUID, the field is already indexed, not unique. Appending from one file GDB to another, using Pro. Any thoughts on anything else I can do?