Pular para o conteúdo principal

Pegadinha do campo autoincremental

Um dia um analista/desenvolvedor me pediu para restaurar um backup de uma base de dados, eu prontamente perguntei: pode ser de meia noite? ele respondeu que sim.
Tudo corria bem até que novamente o mesmo pedido, resolvi entender qual era o problema. O sistema que ele estava trabalhando adicionava um registo numa tabela com um campo chave autoincremental, ou seja, a cada registro adicionado o campo chave é adicionado de 1 ao último valor. A cada vez que ele, o analista/desenvolvedor, testava e dava errado ele me pedia para restaurar o backup, pois o campo chave, autoincremento, da tabela tinha o valor maior.

Foi aí que lembrei de uma funçãozinha do SQL Server que faz com que você volte o campo autoincremento, identity no SQL Server, ao valor que desejar.
O comando salvador é: DBCC CHECKIDENT ([NOME DA TABELA], RESEED, [VALOR]) (http://msdn.microsoft.com/pt-br/library/ms176057.aspx).
Até a próxima.

Comentários

  1. Esse comando salva a pátria em várias situações. Ele é bom também quando se realiza testes em uma base de homologação e a partir desta base é criada uma outra de produção. Caso o banco possua campos identity, eles estarão com valores bastante altos. Assim, basta executar o santo comando nas tabelas correspondentes aos campos para recomeçar a contagem.

    ResponderExcluir
  2. Grande Marquinhos, tudo beleza? Um abração e parabéns pela nova fase, certamente muito vitoriosa. Paulo Vitorino.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Tipos de dados no Sql Server

De vez em quando nos deparamos com uma questão: qual o tipo de dado deve ter um determinado campo? Para um DBA isso é um bom questionamento, pois com base nessa definição outras decisões serão tomadas. O que me motivou a pesquisar e escrever sobre isso foi a frase de um desnvolvedor: "Pouco importa se é varchar, char, text..., pra mim tudo é string."

Conceitos básicos de banco de dados - Integridade

A integridade diz respeito ao nível de confiança das informações do banco de dados, ou seja, a credibilidade das informações e à lógica das informações. Regras de restrição de integridade configuraram um banco de dados para ser alimentado por informações com características lógicas específicas, validadas como verdadeiras antes do seu armazenamento, diminuindo a probabilidade de falta de integridade no banco de dados.