Tôi có một log
bảng với một ID
cột danh tính. Mọi thứ hoạt động tốt trong nhiều năm; Sau đó, ngày hôm qua, tôi thấy lỗi sau trong nhật ký:
Các tuyên bố này đã bị chấm dứt.
Vi phạm các ràng buộc CHÍNH CHÍNH 'PK__log__ID__3B40CD36'. Không thể chèn khóa trùng lặp vào đối tượng 'dbo.log'. Giá trị khóa trùng lặp là (295992).Nhật ký INSERT INTO (datum, zeit, benutzer, modul, proenedur, code, zeile, bez1, bez2, tech_info) VALUES ('20151126 00: 00: 00.000', '19000101 18: 26: 45.121', ' , '', 'WShop-Trans', 0, '1 Datensätze für Tabelle adresse gesendet.', '', '')
Tôi đã kiểm tra hạt giống IDENTITY và có vẻ ổn:
Truy vấn: DBCC CHECKIDENT (nhật ký)
Kết quả: Kiểm tra thông tin nhận dạng: giá trị nhận dạng hiện tại '296021', giá trị cột hiện tại '296021'.
Thực hiện DBCC hoàn thành. Nếu DBCC in thông báo lỗi, liên hệ với quản trị viên hệ thống của bạn.Truy vấn: CHỌN MAX (ID) TỪ nhật ký
Kết quả: 296021
Không có trình kích hoạt nào trên bàn và không ai gặp rắc rối với các giá trị hạt giống (Tôi là người quản trị máy chủ cơ sở dữ liệu, vì vậy tôi khá chắc chắn về điều đó).
Cho đến nay, đây là một sự kiện một lần và tôi không thể tái tạo nó.
Tôi trông giống như một trục trặc của SQL Server, nhưng tôi tò mò: Đây có phải là một lỗi đã biết hay có bất kỳ lời giải thích hợp lý nào khác cho việc này không? Phiên bản SQL Server là Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
.
Để hoàn thiện, đây là tập lệnh bảng hoàn chỉnh:
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)