154 votes

L'incrément d'identité saute dans la base de données SQL Server

Dans une de mes tables Fee dans la colonne "ReceiptNo" de la base de données SQL Server 2012, l'incrément d'identité a soudainement commencé à sauter à 100s au lieu de 1 en fonction des deux choses suivantes.

  1. si c'est 1205446, il saute à 1206306, si c'est 1206321, il saute à 1207306 et si c'est 1207314, il saute à 1208306. Ce que je veux vous faire remarquer, c'est que les trois derniers chiffres restent constants, c'est-à-dire 306, chaque fois que le saut se produit, comme le montre l'image suivante.

  2. ce problème se produit lorsque je redémarre mon ordinateur

enter image description here

8voto

Sebastian Meine Points 6379

Il existe de nombreuses raisons possibles pour sauter des valeurs d'identité. Elles vont des insertions annulées à la gestion des identités pour la réplication. Je ne peux pas dire ce qui cause ce problème dans votre cas sans passer un peu de temps dans votre système.

Sachez toutefois qu'en aucun cas vous ne pouvez supposer qu'une colonne d'identité est contiguë. Il y a tout simplement trop de choses qui peuvent provoquer des écarts.

Vous trouverez un peu plus d'informations à ce sujet ici : http://sqlity.net/en/792/the-gap-in-the-identity-value-sequence/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X