none
Ändern des Identity Wertes einer Spalte via SQL RRS feed

  • Frage

  • Guten Morgen,

    ich habe eine Tabelle, die eine Identity Spalte enthält.

    In diese Tabelle werden viele Daten geschrieben, die aber nach einiger Zeit komplett geloscht werden.

    Das wiederholt sich jeden Tag.

    Damit laufe ich irgendwann aus dem INT Datenbereich der Identity Spalte.

    Gibt es eine Möglichkeit, den Identity Wert zur Laufzeit per Sql zu setzen?

    Dann könnte ich den Identity Wert vor jedem neuen Lauf auf 0 setzen

    Im Einsatz ist bei uns ein SQl Server V10.0.2531 Enterprise.

    Vielen Dank.

    Gregor

    Montag, 31. Oktober 2011 08:33

Antworten

Alle Antworten

  • Hallo Gregor,

    mit der DBCC CHECKIDENTITY ('tabellenname', RESEED) Anweisung kannst Du den nächsten Werte auf den maximal vorhandenen Wert + 1 zurück setzen lassen; oder auch den gewünschten Wert vorgeben.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    Montag, 31. Oktober 2011 08:44
  • Hallo Gregor,

    bist Du sicher dass Du die Identity Spalte wirklich benötigst?

    Ein Ansatz wäre die Spalte auf BIGINT zu ändern, das sollte einige Zeit reichen.

    Das Zurücksetzen erreichst Du mit folgender Anweisung:

    DBCC CHECKIDENT (DeineTabelle, RESEED, 0)
    

    Gruß Thomas

     

    Montag, 31. Oktober 2011 08:48
  • Hallo Kaperto Admin,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Dienstag, 8. November 2011 11:53
    Moderator