IDENTITY_INSERT
no funciona con servidores vinculados AFAIK, a menos que ejecute SQL dinámico que incluye el SET IDENTITY_INSERT
en el lote o tener algún código (Stored Proc, por ejemplo) en el servidor remoto que lo hace por usted.
El IDENTITY_INSERT
es por sesión (ver MSDN
) y cuando use el servidor remoto, probablemente estará en una sesión diferente de su declaración ejecutada a través de [LINKEDSERVER].tempdb.sys.sp_sqlexec
, lo que hace que falle como ves que sucede.