A coluna Identiy de uma tabela do SQL Server, funciona com autonumeração continua.

O problema é o seguinte: quero zerar uma tabela e colocar novos elementos nela, contudo não quero continuar da numeração antiga e sim iniciar uma nova numeração a partir de um número n, como faço ?

 Considere uma tabela pessoa, com o campo cd_pes autonumerável, ou seja: [cd_pes] [bigint] IDENTITY(1,1) NOT NULL,

Obs: IDENTITY(1,1) >> significa que a autonumeração iniciará do 1 e com incremento positivo de 1;

Para verificar qual é o valor do último identity da tabela, basta usarmos o comando:
SELECT IDENT_CURRENT(‘NOME_DA_TABELA’)


Exemplo:  select ident_current('pessoa') >> retornou 29284

Para reiniciar a numeração da coluna por um número n é só executar o comando:  DBCC CHECKIDENT('pessoa', RESEED, n)

Exemplo:  DBCC CHECKIDENT('pessoa', RESEED, 4)  >> a numeração será reiniciada do 4

se fizermos select ident_current('pessoa') >> retorna agora 4

Ou seja, a próxima tupla receberá cd_pes=5.

Para iniciar com o cd_pes=1 teríamos que executar o comando DBCC CHECKIDENT('pessoa', RESEED, 0)

Obs: nessa transformação só alteramos o número inicial, o incremento positivo é mantido.

 Problema resolvido !