Tôi đang trải nghiệm điều gì đó hài hước trong cơ sở dữ liệu của mình. Khóa chính tăng như:Nhảy tăng cột danh tính
1
2
3
4
5
6
7
8
1001
Tôi đang sử dụng EntityFramework hoặc đôi khi LINQ to SQL.
Tôi đang trải nghiệm điều gì đó hài hước trong cơ sở dữ liệu của mình. Khóa chính tăng như:Nhảy tăng cột danh tính
1
2
3
4
5
6
7
8
1001
Tôi đang sử dụng EntityFramework hoặc đôi khi LINQ to SQL.
Điều này xảy ra khi máy chủ SQL 2012 mất số thứ tự được phân bổ trước của nó.
Nếu bạn muốn thoát khỏi đó, một lựa chọn là sử dụng traceflag:
DBCC TRACEON (272)
Một lựa chọn khác là sử dụng một chuỗi (không có bộ nhớ đệm) thay vì về bản sắc:
CREATE SEQUENCE MySeq AS int
START WITH 1
INCREMENT BY 1
NO CACHE;
Xem phần này: http://www.big.info/2013/01/how-to-solve-sql-server-2012-identity.html
Bless tất cả các bạn. giơ ngón tay cái lên – ojorma
Điều này hoàn toàn bình thường. Microsoft thêm chuỗi trong SQL Server 2012, có một cái nhìn ở đây a link cho một số lời giải thích.
Nếu bạn muốn có các hành vi cũ, bạn có thể:
sử dụng dấu vết cờ 272 - điều này sẽ gây ra một kỷ lục ghi được tạo ra cho mỗi giá trị bản sắc tạo ra. Hiệu suất tạo danh tính có thể bị ảnh hưởng bởi việc bật cờ theo dõi này. sử dụng trình tạo trình tự có cài đặt NO CACHE (http://msdn.microsoft.com/en-us/library/ff878091.aspx)
lỗi chèn của bạn có bị lỗi không? –
Nếu bạn đang sử dụng SQL Server 2012, đó là lỗi. –
http://connect.microsoft.com/SQLServer/feedback/details/739013/alwayson-failover-results-in-reseed-of-identity –