sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo volver a sembrar automáticamente después de usar Identity_insert?

Use la información en este enlace en combinación con una función SQL que obtiene el máximo (RID) de cada tabla que necesita restablecer. Por ejemplo, si desea iniciar su semilla de clave principal en 25000, use el siguiente código (StartSeedValue - 1)

DBCC CHECKIDENT('myTable', RESEED, 24999)

Entonces, en combinación, deberías terminar con algo como esto

DECLARE @maxVal INT
SELECT @maxVal = ISNULL(max(ID),0)+1 from mytable
DBCC CHECKIDENT('mytable', RESEED, @maxVal)

Perdón por el pseudocódigo, ha pasado un tiempo desde que escribí una función SQL :)

EDITAR:

Gracias por la captura, cambié INTEGER a INT

USE YourDBName
GO 
SELECT *
FROM sys.Tables
GO 

Esto le dará una lista de todas las tablas de usuarios en la base de datos. Use esta consulta como su 'bucle' y eso debería permitir restablecer las semillas en todas las tablas.