синтаксис:
IDENTITY [ ( seed , increment ) ]
Вы должны указать и начальное значение, и приращение, или ни то, ни другое. Если ни то, ни другое не указано, по умолчанию используется значение (1,1). Невозможно установить другое глобальное значение по умолчанию, кроме (1,1). Единственный способ установить значение, отличное от (1,1), - это кодировать его в столбце.
вот документация: ИДЕНТИЧНОСТЬ (Собственность)
EDIT
На основании этой команды:
DBCC CHECKIDENT ( 'table_name', RESEED, new_reseed_value )
Вы можете использовать этот скрипт для сброса всех идентичных столбцов к одному @new_reseed_value
значению:
DECLARE @Tables table (RowNumber int identity(1,1) primary key, TableCommand sysname)
DECLARE @new_reseed_value int
,@CurrentRow int
,@MaxRows int
,@CurrentTableCommand nvarchar(4000)
SET @new_reseed_value=9876
INSERT INTO @Tables
(TableCommand)
SELECT
'DBCC CHECKIDENT ( ''['+SCHEMA_NAME( OBJECTPROPERTY( OBJECT_ID, 'SCHEMAID' ))
+'].['+OBJECT_NAME( OBJECT_ID )+']'', RESEED, '+COALESCE(CONVERT(varchar(10),@new_reseed_value),'1')+' ) '
FROM SYS.COLUMNS
WHERE COLUMNPROPERTY(OBJECT_ID, NAME, 'IsIdentity') = 1
--AND exclude some tables here ifnecessary
SELECT @MaxRows=@@ROWCOUNT,@CurrentRow=0
WHILE @CurrentRow<@MaxRows
BEGIN
SELECT @CurrentTableCommand=''
,@CurrentRow=@CurrentRow+1
SELECT
@CurrentTableCommand=TableCommand
FROM @Tables
WHERE RowNumber=@CurrentRow
--PRINT @CurrentTableCommand
EXEC(@CurrentTableCommand)
END