Ich habe eine log
Tabelle mit einer ID
Identitätsspalte. Alles funktioniert seit Jahren gut; dann sehe ich gestern den folgenden Fehler in den Protokollen:
Die Anweisung wurde beendet.
Verletzung der PRIMARY KEY-Einschränkung 'PK__log__ID__3B40CD36'. Doppelter Schlüssel kann nicht in Objekt 'dbo.log' eingefügt werden. Der doppelte Schlüsselwert ist (295992).INSERT INTO log (Datum, Zeit, Verwendung, Modul, Prozedur, Code, Zeile, Bez1, Bez2, Tech_info) VALUES ('20151126 00: 00: 00.000', '19000101 18: 26: 45.121', 'Kunde', '' , '', 'WShop-Trans', 0, '1 Datensätze für Tabelle adresse Bewertungen.', '', '')
Ich habe den IDENTITY-Startwert überprüft und er sieht in Ordnung aus:
Abfrage: DBCC CHECKIDENT (Protokoll)
Ergebnis: Überprüfung der Identitätsinformationen: aktueller Identitätswert '296021', aktueller Spaltenwert '296021'.
DBCC-Ausführung abgeschlossen. Wenn DBCC Fehlermeldungen gedruckt hat, wenden Sie sich an Ihren Systemadministrator.Abfrage: SELECT MAX (ID) FROM log
Ergebnis: 296021
Es gibt keine Auslöser in der Tabelle, und niemand spielt mit den Startwerten herum (ich bin derjenige, der den Datenbankserver verwaltet, daher bin ich mir ziemlich sicher).
Bisher ist dies ein einmaliges Ereignis, und ich kann es nicht reproduzieren.
Ich sehe aus wie ein SQL Server-Fehler, bin aber neugierig: Ist dies ein bekannter Fehler oder gibt es eine andere plausible Erklärung dafür? Die SQL Server-Version ist Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
.
Der Vollständigkeit halber hier das vollständige Tabellenskript:
CREATE TABLE [log](
[datum] [datetime] NULL,
[ID] [int] IDENTITY(1,1) NOT NULL,
[zeit] [datetime] NULL,
[benutzer] [varchar](255) NULL,
[modul] [varchar](255) NULL,
[prozedur] [varchar](255) NULL,
[code] [varchar](255) NULL,
[zeile] [int] NULL,
[bez1] [text] NULL,
[bez2] [text] NULL,
[tech_info] [text] NULL,
[pc_name] [varchar](255) NULL,
[app_name] [varchar](255) NULL,
[s_insert_user] [nvarchar](255) NULL,
[s_insert_dat] [datetime] NULL,
[s_update_user] [nvarchar](255) NULL,
[s_update_dat] [datetime] NULL,
[fs_mandant] [uniqueidentifier] NULL,
CONSTRAINT [PK__log__ID__3B40CD36] PRIMARY KEY CLUSTERED ([ID] ASC)
)
CREATE NONCLUSTERED INDEX [code] ON [log] ([code] ASC)
CREATE NONCLUSTERED INDEX [datum_zeit] ON [log] ([datum] ASC, [zeit] ASC)
CREATE NONCLUSTERED INDEX [fs_mandant] ON [log] ([fs_mandant] ASC)
CREATE NONCLUSTERED INDEX [modul] ON [log] ([modul] ASC)