¿Hay alguna forma de cambiar la semilla de identidad para una columna de identidad de forma permanente? El uso de DBCC CHECKIDENT solo parece establecer el last_value. Si la tabla se trunca, todos los valores se restablecen.Cambiar la semilla de identidad en SQL Server (¡permanentemente!)
dbcc checkident ('__Test_SeedIdent', reseed, 1000)
select name, seed_value, increment_value, last_value
from sys.identity_columns
where [object_id] = OBJECT_ID('__Test_SeedIdent');
vuelve
name seed_value increment_value last_value
-------------------------------------------------
idIdent 1 1 1000
Tenía la esperanza de que existiría cierta sintaxis como
alter table dbo.__Test_SeedIdent alter column idIdent [int] identity(1000,1) NOT NULL
.
¿Es necesario crear una nueva columna, mover los valores, soltar la columna original y renombrar la nueva?
Al ejecutar Profiler, veo que MS crea una tabla temporal, copia los datos, luego descarta la tabla existente y cambia el nombre de la tabla temporal. Probablemente porque no puede haber más de una columna de identidad. – avenmore