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.

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