Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Cosa succede in SQL 2005 quando esaurisce il numero per una colonna di numerazione automatica?

Otterrai un errore di overflow quando viene raggiunto il valore massimo . Se utilizzi il tipo di dati bigint con un valore massimo di 9,223,372,036,854,775,807 molto probabilmente non sarà mai così.

Il messaggio di errore che riceverai sarà simile al seguente:

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

(Fonte)

Per quanto ne so, MS SQL non fornisce alcuna funzionalità per colmare le lacune di identità, quindi dovrai farlo da solo o modificare il tipo di dati della colonna identità.

Oltre a questo puoi impostare il valore iniziale sul numero negativo più piccolo, per ottenere un intervallo di valori ancora più ampio da utilizzare.

Ecco un buon post sul blog su questo argomento .