The way RESEED works is documented in the DBCC CHECKIDENT documentation. The result of DBCC CHECKIDENT(MyTable, RESEED, 1) depends on what has happened to that table in the past. If the table has never had any rows in it or if the table was truncated and the table has never had any rows in it since it was truncated, then the next row to be inserted will (usually) get an identity value of 1. But if the table has previously had rows in it, the next value after the RESEED will be 1 + the increment value. Since the increment value is almost always set to 1 (the default), the next row you insert will get an identity value of 2. To see how this works, you can run
Create Table MyTable(Id int primary key Identity, OtherData varchar(50));
Insert MyTable(OtherData) Values('First');
Insert MyTable(OtherData) Values('Second');
Insert MyTable(OtherData) Values('Third');
Select * From MyTable;
Delete From MyTable;
DBCC Checkident (MyTable, RESEED, 1);
Insert MyTable(OtherData) Values('Reseeded to 1, this identity value will be 2');
Select * From MyTable;
Delete From MyTable;
DBCC Checkident (MyTable, RESEED, 0);
Insert MyTable(OtherData) Values('Reseeded to 0, this identity value will be 1');
Select * From MyTable;
Truncate Table MyTable;
DBCC Checkident (MyTable, RESEED, 1);
Insert MyTable(OtherData) Values('Reseeded to 1, this identity value will be 1');
Select * From MyTable;
go
Drop Table MyTable;
Tom