Inserción de valores en campos Identidad de tablas SQL Server

Por motivos de un proyecto de bases de datos he tenido la necesidad de trasvasar bastante información de muchas tablas de un origen a otro servidor. No era cuestión de restaurar una copia de seguridad sino de tener cierta información determinada en el destino. El problema claro, estaba en que las tablas destino, creadas mediante un script automático mantenían en su caso el flag de aquellos campos identidad, autonuméricos, etc por lo que al hacer una carga masiva fallaba la sentencia INSERT.



El "truco" está simplemente en ejecutar SET IDENTITY_INSERT @nombre_tabla ON
Entonces sí podremos insertar valores cualesquiera en el campo identidad. Claro que al final debemos dejarlo "todo como estaba" y hacer un SET IDENTITY_INSERT @nombre_tabla OFF
Importante: Este flag sólo puede hacerse a una tabla a la vez, si intentamos hacerlo a una segunda tabla SQL nos pedirá que primero hagamos "el OFF" a la primera.



Así que de esta manera tan sencilla he podido ejecutar todos los "....insert....select ...." sin problema. Espero te sea de ayuda porque a mí sí me ha ahorrado un montón de tiempo de copy&paste, jejejeje.

No hay comentarios :

Publicar un comentario

Buscar en el Blog: