Estoy usando este código para restablecer la identidad de una tabla:DBCC CHECKIDENT Establece identidad a 0
DBCC CHECKIDENT('TableName', RESEED, 0)
Esto funciona bien la mayor parte del tiempo, con la primera inserción Yo inserción 1 en la columna de Id . Sin embargo, si dejo caer el db y lo vuelvo a crear (usando los scripts que he escrito) y luego llamo a DBCC CHECKIDENT, el primer elemento insertado tendrá un ID de 0.
¿Alguna idea?
EDIT: Después de investigar descubrí que no leí la documentación adecuada:. http://msdn.microsoft.com/en-us/library/aa258817(SQL.80).aspx - "El valor de identidad actual se establece en el new_reseed_value Si no hay filas se han insertado a la mesa desde que fue creado, la primera fila insertada después de ejecutar DBCC CHECKIDENT utilizará new_reseed_value como la identidad. de lo contrario, la siguiente fila insertada utilizará new_reseed_value + 1. "
ese enlace parece para estar muerto, la documentación actual https://msdn.microsoft.com/en-us/library/ms176057.aspx, dice que es solo el comportamiento esperado para las versiones anteriores a 2012, pero eso no parece ser cierto (pruebas en la versión 2012, la compatibilidad establecida en 2012, sigue teniendo problemas). – jmoreno