Тествах какво казва Giogri и ако активирате спецификацията за идентичност (поне на 2008, вероятно и други версии), след като таблицата има редове, DB ще започне номерирането с най-високата стойност на цяло число. Ако имате един ред със 100 като стойност на колоната, след това активирайте Идентичност, следващото вмъкване ще бъде 101. Дори и с Identity Seed, указано като 1. Не беше това, което очаквах, но това се случи.
В допълнение към SET IDENTITY INSERT
, има и команда за повторно зареждане. DBCC CHECKIDENT
команда, която ще нулира вашите стойности за идентичност обратно към зададените от вас.
Като се има предвид, че активирането на спецификацията за самоличност всъщност започва от най-високото цяло число в колоната, някой вероятно е използвал SET IDENTITY_INSERT
или направи DBCC CHECKIDENT
.
Най-бързият начин за повторна последователност, както казва Андомар, е да премахнете/пресъздадете колоната по този начин
ALTER TABLE tbl
DROP COLUMN ident_column
GO
alter TABLE tbl
ADD ident_column int IDENTITY
SET IDENTITY_INSERT
документи:http://msdn.microsoft.com/ en-us/library/aa259221(SQL.80).aspx
DBCC CHECKIDENT
документи:http://msdn.microsoft.com/ en-us/library/aa258817(SQL.80).aspx