¿Actualizando el valor semilla en una columna IDENTIDAD en SQL Compact 3.5?

Realizamos una copia de tabla a tabla de grandes fragmentos de datos en SQL Compact 3.5. Para evitar el problema con las restricciones de identidad usamos el SET IDENTITY_INSERT table ON antes de la copia y SET IDENTITY_INSERT table OFF después.

Como están las cosas descrito en MSDN, la metainformación de identidad, especialmente el siguiente número de identidad (AUTOINC_NEXT) no es actualizado por el tiempo de ejecución de SQL Compact durante la inserción. Por lo tanto, después de la inserción nos encontramos con los problemas de los valores de identidad que chocan con los valores insertados.

Probamos el enfoque recomendado en MSDN para aumentar la semilla de identidad ejecutando el siguiente comando:

ALTER TABLE Projects ALTER COLUMN ProjectID IDENTITY (200, 2);

Pero recibimos el siguiente mensaje de error:

The column cannot become an identity column after it is created. 

¿Hay alguna forma de actualizar la semilla de identidad después de la inserción en SQL Compact?

preguntado el 12 de junio de 12 a las 18:06

Le falta un espacio antes de IDENTIDAD... ¿Y la columna ProjectID ya es una columna de identidad? -

@ErikEJ Esto fue solo un error tipográfico con el espacio faltante y sí, la columna ya es una columna de identidad, este es exactamente el problema. -

¿Está ejecutando 3.5 SP2 (versión de archivo 3.5.8080 o superior)? -

@ErikEJ No, estamos ejecutando 3.5.1.0. ¿La actualización sería útil? -

3.5.1.0 no es la versión del archivo... es la versión del ensamblado. Verifique la versión del archivo en el Explorador de Windows, propiedades del archivo -

1 Respuestas

El problema fue nuestra suposición falsa de que la columna de identidad es siempre la primera en la tabla. Entonces, el mensaje de error vino porque intentamos hacer una columna como identidad que antes no era realmente una columna de identidad.

Respondido 17 Jul 12, 13:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.