Sau khi xóa một số bản ghi thì thứ tự tăng dần không còn đúng trình tự, để thiết lập lại trình tự tăng dần có các cách sau:
Cách 1:
Dùng lệnh:
USE AdventureWorks2012; GO TRUNCATE TABLE HumanResources.JobCandidate; GO
Cách này dùng để xóa trắng dữ liệu nhưng với những bảng có khóa ngoại thì không thực hiện được lệnh này.
Cách 2:
Chọn Generate Scripts lưu lại Schema and data.
Sau đó, xóa bảng rồi tạo lại bảng mới với Schema and data đã lưu.
Cách 3:
Dùng lệnh:
DBCC CHECKIDENT ( table_name [, { NORESEED | { RESEED [, new_reseed_value ] } } ] ) [ WITH NO_INFOMSGS ]
Giải thích lệnh:
table_name: Tên bảng cần thiết lập lại.
NORESEED: Chỉ định rằng không nên thay đổi giá trị nhận dạng hiện tại.
RESEED: Chỉ định rằng giá trị nhận dạng hiện tại cần được thay đổi.
new_reseed_value: Là giá trị mới để sử dụng như giá trị hiện tại của cột nhận dạng
WITH NO_INFOMSGS: Ngăn chặn tất cả các tin nhắn thông tin.
Ví dụ: cần thiết lập giá trị tự động tăng cho bảng 'Person.AddressType' bắt đầu từ 1020 thì thực hiện lệnh như sau:
GO DBCC CHECKIDENT ('Person.AddressType', RESEED, 1020); GO
Chúc các bạn thành công!
Nguyễn Tuấn Khiêm