Reiniciar coluna identity - Zerar identity - Reset Identity


Índice

Para reiniciar a numeração de uma coluna Identiy de uma tabela do SQL Server, utilize o comando:

DBCC CHECKIDENT('[tabela]', RESEED, 0)

Para exemplificar uma situação em que esse comando pode ser utilizado, vamos considerar uma tabela “Usuário” com a seguinte estrutura:

CREATE TABLE [dbo].[Usuario](
	[UsuarioID] [int] IDENTITY(1,1) NOT NULL,
	[Email] [varchar](200) NULL,
	[Senha] [varchar](max) NULL
 CONSTRAINT [PK_Usuario] PRIMARY KEY CLUSTERED (UsuarioID)
)

Se você tiver nessa tabela 3 registros, serão gerados ID sequenciais para o campo “UsuarioID” de 1 até 3:

UsuarioID Email Senha
1 andre@teste.com.br 123
2 pedro@teste.com.br 532
3 arnaldo@teste.com.br 745

Se você apagar todos os registros dessa tabela com o Comando DELETE, ao inserir um novo registro, ao invés do novo registro ter a chave UsuarioID=1 ele terá a chave UsuarioID=4, isso acontece porque toda vez que um registro é inserido, o SQL recupera o próximo ID de uma seqüência que não é reiniciada depois que os registros são removidos da tabela.

Para zerar o identity dessa tabela, utilize o seguinte comando:

DBCC CHECKIDENT('Usuario', RESEED, 0)

Isso fará com que o próximo registro inserido tenha a chave UsuarioID=1.

Você pode ainda, alterar o valor do Identity para um outro valor que não seja. Por exemplo:

DBCC CHECKIDENT('Usuario', RESEED, 100)

Esse comando fará com que o próximo registro tenha a chave UsuarioID=101.


Comentários