IDENTITY_INSERT
non funziona con i server collegati AFAIK, a meno che non si esegua un SQL dinamico che includa SET IDENTITY_INSERT
nel batch o avere del codice (Stored Proc per esempio) sul server remoto che lo fa per te.
Il IDENTITY_INSERT
è per sessione (vedi MSDN
) e quando utilizzi il server remoto, questo sarà probabilmente in una sessione diversa dalla tua istruzione eseguita tramite [LINKEDSERVER].tempdb.sys.sp_sqlexec
, il che provoca il fallimento quando vedi che sta accadendo.