Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was passiert in SQL 2005, wenn die Nummer für eine Autonumber-Spalte aufgebraucht ist?

Sie erhalten einen Überlauffehler, wenn der Maximalwert erreicht ist . Wenn Sie den Bigint-Datentyp mit einem Maximalwert von 9,223,372,036,854,775,807 verwenden das wird höchstwahrscheinlich nie der Fall sein.

Die Fehlermeldung, die Sie erhalten, sieht folgendermaßen aus:

Msg 220, Level 16, State 2, Line 10
Arithmetic overflow error for data type tinyint, value = 256.

(Quelle)

Soweit ich weiß, bietet MS SQL keine Funktionalität zum Füllen der Identitätslücken, also müssen Sie dies entweder selbst tun oder den Datentyp der Identitätsspalte ändern.

Darüber hinaus können Sie den Startwert auf die kleinste negative Zahl setzen, um einen noch größeren Wertebereich zu verwenden.

Hier ist ein guter Blogbeitrag zu diesem Thema .