Las columnas marcadas como Identity
en SQL Server van incrementando de acuerdo a una seed
o semilla. Normalmente empiezan en 1 y van incrementando de 1 en 1. Si has insertado, por ejemplo, 20 registros, el valor del Identity
será 21. Si eliminas todos los registros e insertas uno nuevo, verás que en vez de empezar nuevamente del 1, continuará en el 21.
Hay ocasiones en las que necesitamos que el Identity
vuelva a empezar en 1. Para esto, se necesita restablecer la semilla, lo cual se llama reseed
.
Todos los procedimientos siguientes utilizan el comando DBCC
y se hacen mediante tu editor de consultas (queries
) favorito, por ejemplo Microsoft SQL Server Management Studio.
Para verificar el valor de la semilla
DBCC checkident ('NombreDeTabla')
Resultado:
Checking identity information: current identity value '20', current column value '20'.
Para reparar la semilla
Si por alguna extraña razón la semilla se corrompe, puedes repararla con el siguiente comando, el cual modificará el valor de la semilla al valor máximo que se encuentre almacenado en la columna Identity
.
DBCC checkident ('NombreDeTabla', reseed)
Resultado:
Checking identity information: current identity value '20', current column value '20'.
Restablecer la semilla
Como comentaba al principio, si borraste todos los registros y necesitas reiniciar la semilla en 1, entonces emite el siguiente comando:
DBCC checkident ('NombreDeTabla', reseed, 1)
Resultado:
Checking identity information: current identity value '20', current column value '1'.
Listo, el registro siguiente que insertes tendrá un valor Identity
de 1. Puedes modificar el valor 1 a cualquier otro valor que necesites en el ejemplo del último comando.
Gracias a mi me a ayudado de la mil maravillas
que bien me ayudo mucho.. suerte..
Si la tabla está vacía, otra forma de hacerlo es con la función TRUNCATE TABLE.
TRUNCATE TABLE NombreDeTabla
Esta función limpia la tabla. Equivale a un DELETE y un reseed.
Es justo la información que necesitaba, muy bien explicado muchas gracias!