T-SQL: Reiniciar el valor de una columna Identidad

Este es uno de los trucos simples que puede parecer obvio y aceptado por aquellos que hemos estado trabajando con SQL Server desde hace un tiempo, pero lo publico aquí porque estoy seguro que a más de uno que esté iniciándose en esto le puede servir.

De hecho publico este truco porque de vez en cuando (y esta misma mañana) tengo que restablecer el valor de la columna identidad de nuevo a cero (0) después de haber eliminado todos los registros existentes. La columna identidad es aquel campo que usamos como dato auto numérico para que se autogenere un identificador. En principio no debería importarnos que valor se genera, ya que justamente para eso usamos este campo, pero si a veces queremos empezar nuevamente y empezar a numerar los registros desde 1 (o simplemente por cuestión de gustos).

Tenemos dos opciones:

  • Si queremos eliminar todos los registros (dejar vacía la tabla) y empezar nuevamente, el comando sería
    TRUNCATE TABLE nombreTabla
  • El siguiente comando reinicia el valor de la identidad  a 0 de forma que el siguiente registro que se agregue comience en 1.

    DBCC CHECKIDENT('nombreTabla', RESEED, 0)