IDENTITY_INSERT funktioniert AFAIK nicht mit Verbindungsservern, es sei denn, Sie führen dynamisches SQL aus, das SET IDENTITY_INSERT enthält im Batch oder einen Code (zum Beispiel Stored Proc) auf dem Remote-Server, der das für Sie erledigt.
Der IDENTITY_INSERT ist pro Sitzung (siehe MSDN
). ) und wenn Sie den Remote-Server verwenden, befindet sich dies wahrscheinlich in einer anderen Sitzung als Ihre Anweisung, die über [LINKEDSERVER].tempdb.sys.sp_sqlexec ausgeführt wird , was dazu führt, dass es fehlschlägt, wenn Sie es sehen.