primary ident_current delete checkident and sql-server-2008-r2 auto-increment identity-column

sql-server-2008-r2 - ident_current - sql server delete and reset identity



Restablecer la autoincrementación en Microsoft SQL Server 2008 R2 (2)

Si usa el comando DBCC CHECKIDENT :

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1);

¡Pero utilízalo con PRECAUCIÓN! - Esto simplemente restablecerá la IDENTITY a 1 - por lo que sus próximos insertos obtendrán los valores 1, 2 y luego 3 -> ¡y aquí tendrá un choque con su valor preexistente de 3!

IDENTITY simplemente reparte los números en orden consecutivo - de ninguna manera asegura que no haya conflictos! Si ya tiene valores, ¡ no vuelva a resembrar a un valor inferior!

Creé una clave principal para ser autoincrement.

  • Agregué dos filas: ID=1, ID=2
  • Eliminé estas dos filas.
  • Agregué una nueva fila, pero la ID de la nueva fila era: ID=3

¿Cómo puedo restablecer o reiniciar el autoincrement a 1?


Estoy usando SQL Server 2012 y DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1) causa un valor de 2 en la próxima inserción.

Entonces, para SQL Server 2012, cambie el 1 a 0 para obtener un valor de 1 para su siguiente inserción de registros:

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0); -- value will be 1 for the next record insert