IDENTITY_INSERT
fungerar inte med länkade servrar AFAIK, om du inte kör dynamisk SQL som inkluderar SET IDENTITY_INSERT
i batchen eller ha någon kod (t.ex. lagrad proc) på fjärrservern som gör det åt dig.
IDENTITY_INSERT
är per session (se MSDN
) och när du använder fjärrservern kommer detta förmodligen att vara i en annan session än din sats som körs via [LINKEDSERVER].tempdb.sys.sp_sqlexec
, vilket gör att det misslyckas när du ser det hända.