Principales respuestas
Sql Server Indices autoincrementales por 1000

Pregunta
-
Hola a todos.
Tengo un Windows server 2012 R2 y en el instalado un SQL Express 2014 (12.0.5000) de repente todos los autoincreméntales de una base de datos aumentan de 1000 en 1000 en lugar de 1 en 1 he repasado todo y aparentemente esta todo bien. En esa base de datos creo una nueva tabla y los incrementales sí que funcionan bien (1 en 1) pero en el resto no.
Muchas gracias por vuestra ayuda
Respuestas
-
Hola Raúl, como estas.
Efectivamente estas en el caso que menciono Raúl y Enrique mas arriba.
Si la lógica requerida para el campo de auto-incremento debe ser de uno en uno, podrías probar el Trace Flag o bien implementar otro mecanismo.
Algunas soluciones de tipo work-around fueron posteadas en el Caso de Connect por este tema:
https://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity
Saludos.
- Propuesto como respuesta MarianokMVP miércoles, 8 de febrero de 2017 14:10
- Marcado como respuesta Joyce_ACModerator jueves, 6 de julio de 2017 19:26
Todas las respuestas
-
Hola que tal Raul.
Fijate si puedes ejecutar un SP_HELP sobre la tabla que tienes problemas.
USE "nombre de la base datos" ;
GO
EXEC sp_help 'nombre de la tabla';
GOEste comando debería retornar la información de la tabla, incluyendo las columnas que son auto-incrementales y la columna "Increment" debería indicar si esta incrementando de 1 en uno o en 1000.
Saludos
Mariano Kovo
-
-
Saludos
Como bien dice el articulo expuesto por Carlos, este comportamiento era una característica de 2012 y puede ser mitigado con la trace flag 272, esto no debería de ser presente en sql server 2014 ni escuche de un evento similar, podrias poner el resultado de un:
select @@version
En todo caso ni sequence ni identity garantizan que no existan brincos sino que garantizan un valor ascendente y único.
- Editado Enrique AA miércoles, 19 de octubre de 2016 0:51
-
He ejecutado este procedimiento almacenado y este es el resultado que me sale
EXEC sp_help 'nombre de la tabla';
dentity Seed Increment Not For Replication
IDPresupuesto 1 1
0 select @@version
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64)
Jun 17 2016 19:14:09
Copyright (c) Microsoft Corporation
Express Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
-
Hola Raúl, como estas.
Efectivamente estas en el caso que menciono Raúl y Enrique mas arriba.
Si la lógica requerida para el campo de auto-incremento debe ser de uno en uno, podrías probar el Trace Flag o bien implementar otro mecanismo.
Algunas soluciones de tipo work-around fueron posteadas en el Caso de Connect por este tema:
https://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity
Saludos.
- Propuesto como respuesta MarianokMVP miércoles, 8 de febrero de 2017 14:10
- Marcado como respuesta Joyce_ACModerator jueves, 6 de julio de 2017 19:26