Cách thiết lập lại các cột tự động tăng sau khi xóa các bản ghi để cột có trình tự theo thứ tự tăng dần SQL Server

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