Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Das Einfügen der Identität auf dem Verbindungsserver schlägt fehl

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.