Saya menguji apa yang dikatakan Giogri dan jika Anda mengaktifkan Spesifikasi Identitas (setidaknya pada 2008, mungkin versi lain juga) setelah tabel memiliki baris, DB akan memulai penomoran pada nilai integer tertinggi. Jika Anda memiliki satu baris dengan 100 sebagai nilai kolom, maka aktifkan Identity, penyisipan berikutnya adalah 101. Bahkan dengan Identity Seed ditetapkan sebagai 1. Bukan seperti yang saya harapkan, tetapi itulah yang terjadi.
Selain SET IDENTITY INSERT
, ada juga perintah reseed. DBCC CHECKIDENT
perintah yang akan mengatur ulang nilai identitas Anda kembali ke apa yang Anda tentukan.
Mengingat bahwa mengaktifkan Spesifikasi Identitas sebenarnya dimulai pada bilangan bulat tertinggi di kolom, seseorang mungkin menggunakan SET IDENTITY_INSERT
atau melakukan DBCC CHECKIDENT
.
Cara tercepat untuk mengurutkan ulang seperti yang dikatakan Andomar adalah dengan menjatuhkan/membuat ulang kolom seperti ini
ALTER TABLE tbl
DROP COLUMN ident_column
GO
alter TABLE tbl
ADD ident_column int IDENTITY
SET IDENTITY_INSERT
dokumen:http://msdn.microsoft.com/ en-us/library/aa259221(SQL.80).aspx
DBCC CHECKIDENT
dokumen:http://msdn.microsoft.com/ en-us/library/aa258817(SQL.80).aspx