8107: IDENTITY_INSERT ist für die '%1!.%2!.%3!'-Tabelle bereits auf ON festgelegt.
Fehlermeldung:
Meldung 8107, Ebene 16, Status 1, Zeile 1
IDENTITY_INSERT ist für die '%1!.%2!.%3!'-Tabelle bereits auf ON festgelegt. Der SET-Vorgang für die '%4!'-Tabelle kann nicht ausgeführt werden.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint wenn man versucht SET IDENTITY_INSERT für eine Tabelle zu aktivieren, für die diese SET Option bereits aktiviert ist.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. SET IDENTITY_INSERT ON kann nur einmal für eine Tabelle aktiviert werden. Zwischen zwei Statements muss es erst wieder deaktiviert werden.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
DROP TABLE #t
GO
CREATE TABLE #t
(
id INT IDENTITY
)
GO
SET IDENTITY_INSERT #t ON
SET IDENTITY_INSERT #t ON
Anmerkungen:
Im obigen Beispiel wird versucht SET IDENTITY_INSERT ON zweimal hintereinander zu aktivieren. Dies löst den Fehler aus.