Zurücksetzen der Identitätsspezifikation-Spalte in MS SQL

Letztens wollte ich mal wieder in einer Tabelle den Auto-Increment-Wert wieder auf Anfang setzen, um wieder mit einer neuen Datenzusammenstellung zu beginnen.
Normalerweise mache ich dies, indem die komplette Tabelle gelöscht (abgeschnitten) wird. Dies geschieht mit dem SQL-Befehl:

TRUNCATE TABLE

Diesmal erhielt ich folgende Meldung:
Meldung 4712, Ebene 16, Status 1, Zeile 1
Die -Tabelle kann nicht abgeschnitten werden, da eine FOREIGN KEY-Einschränkung auf sie verweist.

Schade, also musste ich mir etwas andere überlegen.
Mit dem Befehl: DBCC CHECKIDENT('') kann überprüft werden, wie der aktuelle Wert für die angegebene Tabelle ist.
Typische Meldung:
Überprüfen der Identitätsinformationen: Aktueller Identitätswert '5', aktueller Spaltenwert '5'.
Die DBCC-Ausführung wurde abgeschlossen. Falls DBCC Fehlermeldungen ausgegeben hat, wenden Sie sich an den Systemadministrator.

Am leichtesten ist es, den Wert auch mit diesem Befehl zurück zusetzen. Dies geschieht folgendermaßen:
DBCC CHECKIDENT('', RESEED, )
also
DBCC CHECKIDENT('', RESEED, 0)

Nun beginnt ein neuer Eintrag wieder bei 1.

Hilfe in der MSDN: http://msdn.microsoft.com/en-us/library/ms176057.aspx

Schreibe einen Kommentar

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