Я использую этот код для reset идентификатора в таблице:
DBCC CHECKIDENT('TableName', RESEED, 0)
Это работает отлично в большинстве случаев, с первой вставкой, которую я вставляю 1 в столбец идентификатора. Однако, если я удаляю db и воссоздаю его (используя написанные скрипты), а затем вызываю DBCC CHECKIDENT, первый вставленный элемент будет иметь идентификатор 0.
Любые идеи?
EDIT: После исследования выяснилось, что я не читал документацию должным образом: http://msdn.microsoft.com/en-us/library/aa258817(SQL.80).aspx - "Текущее значение идентификатора устанавливается в значение new_reseed_value. Если ни одна строка не была вставлена в таблицу с момента ее создания, первая строка, вставленная после выполнения DBCC CHECKIDENT, будет использовать new_reseed_value как идентификатор. В противном случае следующая вставленная строка будет использовать new_reseed_value + 1."