Tôi đã kiểm tra những gì Giogri nói và nếu bạn bật Đặc tả nhận dạng (ít nhất là trên phiên bản 2008, có thể là các phiên bản khác) sau khi bảng có hàng, DB sẽ bắt đầu đánh số ở giá trị số nguyên cao nhất. Nếu bạn có một hàng với 100 làm giá trị cột, thì hãy bật Identity, lần chèn tiếp theo sẽ là 101. Ngay cả với Identity Seed được chỉ định là 1. Đó không phải là điều tôi mong đợi, nhưng đó là điều đã xảy ra.
Ngoài SET IDENTITY INSERT
, cũng có một lệnh được gửi lại. DBCC CHECKIDENT
lệnh này sẽ đặt lại các giá trị nhận dạng của bạn trở lại những gì bạn chỉ định.
Cho rằng việc bật Đặc tả nhận dạng thực sự bắt đầu từ số nguyên cao nhất trong cột, ai đó có thể đã sử dụng SET IDENTITY_INSERT
hoặc đã có DBCC CHECKIDENT
.
Cách nhanh nhất để gửi lại chuỗi như Andomar nói là thả / tạo lại cột như thế này
ALTER TABLE tbl
DROP COLUMN ident_column
GO
alter TABLE tbl
ADD ident_column int IDENTITY
SET IDENTITY_INSERT
tài liệu: http://msdn.microsoft.com/ en-us / library / aa259221 (SQL.80) .aspx
DBCC CHECKIDENT
tài liệu: http://msdn.microsoft.com/ en-us / library / aa258817 (SQL.80) .aspx