Hello @Matt Evans ,
Thanks for the question and using MS Q&A platform.
As we understand the ask here is how to perform an partial update on SQL side using UPSERT , please do let us know if its not accurate.
As UPSERT stands for UPDATE & INSERT , so it will act on all the columns and not a few .The xecption which you shared is from SQL side . You will run into same issue if you try to do INSERT also with fewer columns .
You can try updating the copy activity and introducing a store proc activity
- Drop the staging table if its exists .( use the pre copy script option )
- Dump all the data in staging table ( use the Auto create option )

- Once the staging table is loaded . create a stored precedure and now you can use isnert the records which are not in the base table and Update only those columsn whcih you want .
- Drop the staging table .
Please do let me if you have any queries.
Thanks
Himanshu
- Please don't forget to click on
or upvote
button whenever the information provided helps you. Original posters help the community find answers faster by identifying the correct answer. Here is how - Want a reminder to come back and check responses? Here is how to subscribe to a notification
- If you are interested in joining the VM program and help shape the future of Q&A: Here is how you can be part of Q&A Volunteer Moderators