COLUNA IDENTITY DA TABELA PULANDO A SEQUÊNCIA

 Tópico anterior Próximo tópico Novo tópico

COLUNA IDENTITY DA TABELA PULANDO A SEQUÊNCIA

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#484765 - 03/10/2018 18:57:21

IVANPI
GUAPIARA
Cadast. em:Janeiro/2017


Boa noite caros colegas!

Tenho uma tabela no SQL Server Express Edition com uma coluna identity com auto incremento. Estava normalmente efetuando os cadastros e de um dia para o outro esse auto incremento ao invés de ir de 1 em 1 e pulou essa sequência.

Exemplo: uma coluna identity que estava em 47 o próximo iria para 48, porém o mesmo pulou para o 1002. Deixei passar isso, pois pensei que fosse normal (observação sou novato na área do SQL Server), mas hoje fui fazer novos cadastros e do 1148 foi para 46370 e então, o programa que uso para fazer os cadastros começou a acusar oveflow, que também não imagino que seja.

O pode estar acontecendo? Como posso estar resolvendo?

Desde já muito agradecido.

Atte.





#484766 - 03/10/2018 20:48:45

LVFIOROT
SERRA
Cadast. em:Março/2012


segue post explicando porque acontece e como contornar a situacao
https://www.codeproject.com/Tips/668042/SQL-Server-2012-Auto-Identity-Column-Value-Jump-Is




#484767 - 03/10/2018 20:51:58

LVFIOROT
SERRA
Cadast. em:Março/2012


Última edição em 03/10/2018 20:54:37 por LVFIOROT

aqui tambem explica outras formas de contornar
https://stackoverflow.com/questions/14162648/sql-server-2012-column-identity-increment-jumping-from-6-to-1000-on-7th-entry

no mssql 2017+ é possível alterar um configuração do banco de dados para nao fazer cache da sequencia.
https://stackoverflow.com/questions/14146148/identity-increment-is-jumping-in-sql-server-database



#484770 - 04/10/2018 07:12:42

IVANPI
GUAPIARA
Cadast. em:Janeiro/2017


Citação:
:
aqui tambem explica outras formas de contornar
https://stackoverflow.com/questions/14162648/sql-server-2012-column-identity-increment-jumping-from-6-to-1000-on-7th-entry

no mssql 2017+ é possível alterar um configuração do banco de dados para nao fazer cache da sequencia.
https://stackoverflow.com/questions/14146148/identity-increment-is-jumping-in-sql-server-database


Muito obrigado pela ajuda, agora o que acha ao invés de se usar uma coluna identity, fazer com que o próprio aplicativo use mecanismo para gerar os valores de chaves?

Desde já muito agradecido.

Atte.



Resposta escolhida #484772 - 04/10/2018 09:20:39

LVFIOROT
SERRA
Cadast. em:Março/2012


Eu não gosto dessa abordagem, pois quanto maior o numero de cliente simultâneos, maior a chance de dar problema.
A não ser que o campo seja chave, dai o próprio banco já não deixa repetir, mesmo assim existe o risco, baixo, mas existe.



#484773 - 04/10/2018 09:39:19

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Última edição em 04/10/2018 09:40:16 por PERCIFILHO

Citação:
ao invés de se usar uma coluna identity, fazer com que o próprio aplicativo use mecanismo para gerar os valores de chaves?  


Definitivamente, NÃO, não é uma boa ideia.

Quando comecei, bem antes de usar OOP, já fiz muito isso e me causou muuuuuitos problemas.



____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#484805 - 05/10/2018 11:10:00

JCM0867
BALNEARIO CAMBORIU
Cadast. em:Março/2012


Última edição em 05/10/2018 11:13:19 por JCM0867

Cuidado com o Indentity quando 2 tabelas trabalham juntas (1 para n)
Tipo Tabela 1 = Tab1Código(identity), Tab1Descricao
Tabela 2 = Tab2Codigo, Tab1Codigo, demais campos
Se apagar um registro complica recupera-lo com o mesmo código identity.
Raramente uso identity, Peço que o sistema veja qual o maior registro e soma 1




#484813 - 05/10/2018 19:35:12

IVANPI
GUAPIARA
Cadast. em:Janeiro/2017


Citação:
:
:
aqui tambem explica outras formas de contornar
https://stackoverflow.com/questions/14162648/sql-server-2012-column-identity-increment-jumping-from-6-to-1000-on-7th-entry

no mssql 2017+ é possível alterar um configuração do banco de dados para nao fazer cache da sequencia.
https://stackoverflow.com/questions/14146148/identity-increment-is-jumping-in-sql-server-database

Muito obrigado pela ajuda, agora o que acha ao invés de se usar uma coluna identity, fazer com que o próprio aplicativo use mecanismo para gerar os valores de chaves?

Desde já muito agradecido.

Atte.



Vou usar a opção do sinalizador de rastreamento 272 por enquanto, até porque a aplicação é pequena e vou ver como se comporta :). Muito obrigado.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por IVANPI em 05/10/2018 19:35:27