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.

4 comentarios sobre “Cómo restablecer el valor de una columna Identity en SQL Server

  1. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


× nueve = 81