SQL Server update query on linked server causing remote scan
A friend just had a similar problem and rewriting the query solved it.

I know this is an old question, and likely you have worked it out, but for anyone else you could try this and report back...

UPDATE kg
SET 
   IdGarment = IdGarment
   FROM Products p 
   INNER JOIN ZAMStaffRentals r ON r.ProductID = p.UniqueID 
   INNER JOIN ZAMCustomer_Staff s ON r.StaffID = s.UniqueID 
   INNER JOIN ZAMRentalGarments g ON g.StaffRentalID = r.UniqueID 
   INNER JOIN [REMOTE_SERVER].[REMOTE_DB].dbo.t_ProcessIT_Garment kg on g.BarcodeRFID = kg.IdGarment 
   INNER JOIN ZAMKannChanges log on log.GarmentID = g.UniqueID 
   WHERE log.ActionType = 'I' ;


I don't know why this helped, but using the UPDATE "alias" form of the statement meant that the whole UPDATE query was remoted, rather than pulling the data back to the local instance to perform the JOINs.

If anyone has any ideas why this behaviour was seen, I would love to know.