Cara Reset Identity column di SQL Server

Di Microsoft SQL Server terdapat fitur auto increment pada tabel yaitu untuk membuat auto number pada kolom tertentu secara otomatis. fitur ini sangat berguna misalnya kita akan membuat ID yang unik pada sebuah tabel. Namun permasalahannya adalah apabila suatu saat kita menghapus semua record pada tabel yang memiliki kolom auto increment maka penomoran tersebut tidak secara otomatis di reset secara otomatis oleh SQL Server. untuk lebih jelas saya akan berikan contoh dibawah ini.

Misalkan kita mempunyai tabel dengan nama MsSupplier dengan kolom SupplierID & SupplierName. dan kolom SupplierID merupakan kolom yang auto increment. Kemudian saya telah memasukkan data sebanyak 10 record, maka nilai terakhir dari kolom SupplierID adalah 10. Is It Correct?

Kemudian saya menghapus semua record dari MsSupplier sehingga isi dari tabel MsSupplier menjadi kosong, apabila saya mengisikan kembali record ke MsSupplier seharusnya nilai dari kolom SupplierID dimulai dari 1 lagi bukan?

Dari kasus di atas ternyata tidak demikian karena SQL Server tidak melakukan reset secara otomatis, sehingga ketika saya mengisikan kembali record ke tabel MsSupplier maka nilai dari kolom SupplierID akan di mulai dari 11 bukan dimulai dari 1, mengapa demikian? I can’t explain…

Nah untuk mengatasi masalah di atas bisa dilakukan dengan script dibawah ini, sebenarnya ini bukan masalah besar namun disini saya hanya ingin sekedar sharing untuk para DBA/Programmer Junior, untuk DBA/Programmer Senior mungkin ini adalah wasting time…

OK, Ini dia scriptnya:
DBCC CHECKIDENT(‘MsSupplier’, RESEED, 0)

MsSupplier adalah nama table yang ingin kita reset valuenya, sedangkan nilai 0 adalah nilai awal untuk auto increment-nya, misalnya disini kita akan meresetnya mulai dari 1 lagi.

Selamat Mencoba…

2 Responses to “Cara Reset Identity column di SQL Server”

  1. Hasan Says:

    itu penggunaannya dimana ? Query SQL ? VB Net ?

    • Admin Says:

      Di Query SQL Mas hasan


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: