SQL Server 2008: ¿qué pasó si la identidad excede un valor máximo de int?

Imagínese que tenemos una table:

create table MYTABLE ( id int IDENTITY(1,1) ,name varchar(10) ) 

Tenemos que insert un montón de filas en la tabla.

¿Alguien sabe qué pasará cuando un valor de identidad generado sobrepasa un valor integer máximo (2 ^ 32-1)?

  1. Obtendrá el siguiente error:

    Msg 8115, Level 16, State 1, Line 1
    Arithmetic overflow error converting IDENTITY to data type int.
    Arithmetic overflow occurnetworking.

  2. No podrá insert más loggings, hasta que:

    • eliminar algunos y restablecer la columna de identidad con el command DBCC CHECKIDENT ,
      o
    • cambiar el tipo de datos de la columna a bigint (sugerido por Gabriel Guimarães ).
    Intereting Posts