fbpx

Corrigindo ordenação em campos IDENTITY Auto Incremento

Corrigindo ordenação em campos IDENTITY Auto Incremento

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on pinterest
Pinterest
Share on tumblr
Tumblr
Share on telegram
Telegram
Share on whatsapp
WhatsApp
Share on skype
Skype
Share on email
Email

Como corrigir ordenação em campos IDENTITY Auto Incremento em todo banco de dados Microsoft SQL SERVER

Microsoft-SQL-Server

Algumas vezes, os valores de um campo de auto incremento (Identity) podem ficar desordenados ou com uma numeração onde já exista um registro na tabela, isto pode ocorrer, principalmente após a Restauração de um banco de dados.

Desta Forma, ao efetuar um INSERT em uma determinada tabela o erro abaixo é apresentado:

SQL Server Native Client][SQL Server] Violation of UNIQUE KEY constraint ‘tabela#_#campoid’. Cannot insert duplicate key in object ‘dbo.tabela’.

Para corrigir o auto incremento de uma tabela, basta executar o comando:

DBCC CHECKIDENT(“Tabela”, RESEED, 30)

No exemplo acima, foi alterado o valor do campo Identity da tabela para 30 e  o próximo comando Insert iniciará o auto incremento a partir deste numero.

Mas, E se você precisa corrigir a numeração de campos Identity em todas as tabelas do banco de dados?

Já vi alguns colegas construírem Querys Complexas, montando um cursor lendo com todas as tabelas do banco (sys.tables) para depois armazenar em uma variável o último valor do campo Identity com a função Max e executar o DBCC CHECKIDENT(“Tabela”, RESEED, Variável Valor máximo Encontrado).

Ufa!!! Que trabalhão… Pare de Sofrer.  Kkkk… Isto é trabalhoso, oneroso e lento na execução…

Quando surge uma necessidade deste tipo, basta executar o seguinte comando:

exec sp_MSforeachtable @command1 = ‘DBCC CHECKIDENT (”?”, RESEED)’

Com isto, cada tabela do banco de dados terá o campo Identity corrigido com o ultimo valor máximo inserido.

É isso ai pessoal !

Espero que tenham gostado dessas dicas.

Se você gostou deste artigo, compartilhe estas dicas com um amigo ou nos acompanhe através das redes sociais.
Não gostou, encontrou algum erro ou conhece outras dicas, deixe seus comentários.
Muito Obrigado

Abraços

O que acha de nos pagar um Café ?

Se nosso conteúdo gratuito lhe ajudou de alguma forma em sua vida, ficamos muito felizes.

Ajude-nos a manter este site e expandir nosso trabalho, conhecendo o trabalho de nossos anunciantes ou fazendo uma doação.

Você pode doar qualquer valor  através do PagSeguro no link acima ou Aqui

Gostou do Post ? Compartilhe esta dica com seus amigos nas redes sociais.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on pinterest
Pinterest
Share on tumblr
Tumblr
Share on telegram
Telegram
Share on whatsapp
WhatsApp
Share on skype
Skype
Share on email
Email

TALVEZ VOCÊ GOSTE TAMBÉM

Um Comentário em “Corrigindo ordenação em campos IDENTITY Auto Incremento

  1. Pingback: Corrigir ordenação de campos Auto Incremento (IDENTITY) no SQL Server

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.