IDENTITY_INSERT nie działa z serwerami połączonymi AFAIK, chyba że wykonujesz dynamiczny SQL, który zawiera SET IDENTITY_INSERT w partii lub mieć jakiś kod (na przykład Storeed Proc) na zdalnym serwerze, który zrobi to za Ciebie.
IDENTITY_INSERT jest na sesję (zobacz MSDN
) i gdy używasz zdalnego serwera, prawdopodobnie będzie to inna sesja niż instrukcja wykonana przez [LINKEDSERVER].tempdb.sys.sp_sqlexec , co powoduje awarię, gdy widzisz, jak to się dzieje.