IDENTITY_INSERT
não funciona com servidores vinculados AFAIK, a menos que você execute SQL dinâmico que inclua o SET IDENTITY_INSERT
no lote ou ter algum código (Stored Proc, por exemplo) no servidor remoto que faz isso para você. O
IDENTITY_INSERT
é por sessão (consulte MSDN
) e quando você usar o servidor remoto provavelmente estará em uma sessão diferente da sua instrução executada via [LINKEDSERVER].tempdb.sys.sp_sqlexec
, o que faz com que ele falhe conforme você vê isso acontecendo.