none
SQL pulando números com ID auto incremento RRS feed

  • Pergunta

  • Então, meu SQL com ID auto incremento está pulando números absurdos... de 30114 vai para 40110... depois segue corretamente até tipo 40245 e depois pula para 50241... alguém sabe porque isso acontece?

    • Movido welington jr quarta-feira, 24 de maio de 2017 18:51 postado lugar errado
    quarta-feira, 24 de maio de 2017 14:00

Respostas

  • Boa tarde,

    Esse comportamento ocorre quando você tem uma transação em que é feito rollback. Imagine que ele inseriu 1000 linhas e por algum erro na 1001 deu rollback. A numeração do IDENTITY não volta. Uma vez que ela é "alocada" pelo SQL Server, se for feito rollback, ele não reutiliza esse número alocado.

    Pode ser por deletes feitos na tabela também

    Qual é a versão do seu SQL? Se ele for 2012, tem um bug conhecido que quando a instância é reiniciada, o SQL dá saltos grandes nos campos IDENTITY.

    https://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is

    Espero ter ajudado!



    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    quarta-feira, 24 de maio de 2017 19:14

Todas as Respostas

  • Boa tarde,

    Esse comportamento ocorre quando você tem uma transação em que é feito rollback. Imagine que ele inseriu 1000 linhas e por algum erro na 1001 deu rollback. A numeração do IDENTITY não volta. Uma vez que ela é "alocada" pelo SQL Server, se for feito rollback, ele não reutiliza esse número alocado.

    Pode ser por deletes feitos na tabela também

    Qual é a versão do seu SQL? Se ele for 2012, tem um bug conhecido que quando a instância é reiniciada, o SQL dá saltos grandes nos campos IDENTITY.

    https://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is

    Espero ter ajudado!



    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    quarta-feira, 24 de maio de 2017 19:14
  • É isso mesmo...

    "Qual é a versão do seu SQL? Se ele for 2012, tem um bug conhecido que quando a instância é reiniciada, o SQL dá saltos grandes nos campos IDENTITY."

    Mas a solução deles "-t272" não parece resolver.

    Obrigado!


    quinta-feira, 25 de maio de 2017 14:34