Sử dụng thông tin trong liên kết này kết hợp với một hàm SQL nhận tối đa (RID) từ mỗi bảng mà bạn cần đặt lại. Ví dụ:nếu bạn muốn bắt đầu khóa chính của mình ở mức 25000, hãy sử dụng mã bên dưới (StartSeedValue - 1)
DBCC CHECKIDENT('myTable', RESEED, 24999)
Vì vậy, kết hợp lại, bạn nên kết thúc với một số suy nghĩ như thế này
DECLARE @maxVal INT
SELECT @maxVal = ISNULL(max(ID),0)+1 from mytable
DBCC CHECKIDENT('mytable', RESEED, @maxVal)
Xin lỗi vì Pseudo-code, đã lâu tôi chưa viết một hàm SQL :)
CHỈNH SỬA:
Cảm ơn bạn đã nắm bắt được, đã thay đổi INTEGER thành INT
USE YourDBName
GO
SELECT *
FROM sys.Tables
GO
Điều này sẽ cung cấp cho bạn danh sách tất cả các bảng người dùng trong cơ sở dữ liệu. Sử dụng truy vấn này làm 'vòng lặp' của bạn và điều đó sẽ cho phép đặt lại các hạt trên tất cả các bảng.