Testei o que o Giogri diz e se você habilitar a Identity Specification (pelo menos em 2008, provavelmente outras versões também) depois que a tabela tiver linhas, o banco de dados iniciará a numeração no valor inteiro mais alto. Se você tiver uma linha com 100 como valor da coluna, habilite Identity, a próxima inserção será 101. Mesmo com Identity Seed especificado como 1. Não era o que eu esperava, mas foi o que aconteceu.
Além de
SET IDENTITY INSERT
, há também um comando reseed. DBCC CHECKIDENT
comando que irá redefinir seus valores de identidade de volta ao que você especificou. Dado que habilitar a Especificação de Identidade realmente começa no número inteiro mais alto na coluna, alguém provavelmente usou
SET IDENTITY_INSERT
ou fez um DBCC CHECKIDENT
. A maneira mais rápida de resequenciar como Andomar diz é soltar/recriar a coluna assim
ALTER TABLE tbl
DROP COLUMN ident_column
GO
alter TABLE tbl
ADD ident_column int IDENTITY
SET IDENTITY_INSERT
docs:http://msdn.microsoft.com/ pt-br/library/aa259221(SQL.80).aspx
DBCC CHECKIDENT
docs:http://msdn.microsoft.com/ pt-br/library/aa258817(SQL.80).aspx