seed auf MS SQL Tabellen ermitteln bzw. setzen

Um den SEED auf einer MS SQL Server Tabelle zu setzen, sind folgende Befehle notwendig:

dbcc checkident (<tblname>, reseed, <newMaxSeed>)

Ein Beispiel:

-- create table tblMy (nKey identity(1, 1), ...)
declare @maxKey int
select @maxKey = max(nKey) from tblMy
dbcc checkident (tblMy, reseed, @maxKey)

Hier noch ein Befehl, mit dem man alle aktuellen Seeds der vorhanden Tabellen sieht, die auch eine Identity-Spalte besitzten:

select Seed            = ident_seed(TABLE_NAME)
     , Increment       = ident_incr(TABLE_NAME)
     , CurrentIdentity = ident_current(TABLE_NAME)
     , Table           = TABLE_NAME
from   INFORMATION_SCHEMA.TABLES
where  objectproperty(object_id(TABLE_NAME), 'TableHasIdentity') = 1
and    TABLE_TYPE = N'BASE TABLE'

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.