Restablecer valores de la columna identidad en SQL Server

Hace un tiempo hablé en un post sobre los errores que daba SQL Server al intentar truncar una tabla con claves extranjeras (foreign keys) aunque estas estuviesen vacías. Uno de los puntos que traté en ese post era restablecer el valor de la clave principal de la tabla a 0 y el método que utilicé era el mismo que nos explican en este post Reset Identity Column Value in SQL Server.

Ayer casualmente probando este método en una tabla recién truncada descubrí que cuando se realiza la opción TRUNCATE TABLE el valor de la columna de identidad (clave principal) toma el valor NULL en vez del valor 0. Lo descubrí al hacer lo siguiente :

DBCC CHECKIDENT (tabla, RESEED, 0)

La respuesta del SQL Server Managment Studio fue la siguiente:

Checking identity information: current identity value 'NULL', current column value '0'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

En realidad esto no afecta en nada es sólo una curiosidad más sobre las diferencias entre restablecer los valores de la clave principal de una tabla con CHECKIDENT o con TRUNCATE TABLE.

Comentarios