Error 0xc0202049: Tarea de flujo de datos 1: Error al insertar en la columna de solo lectura

82

Estoy usando el asistente de importación y exportación de SQL Server 2008. Necesito importar una base de datos. Abrí el asistente de importación / exportación del servidor SQL y realicé las siguientes acciones: -

  1. para el destino elegí "SQL Server Native Client 10".

  2. luego seleccioné copiar datos de una o más tablas o vistas.

  3. SSIS se ejecuta inmediatamente

pero tengo los siguientes errores,

Operación detenida ...

  • Inicialización de la tarea de flujo de datos (correcto)

  • Inicializando conexiones (éxito)

  • Configuración del comando SQL (correcto)

  • Configuración de la conexión de la fuente (éxito)

  • Configuración de la conexión de destino (éxito)

  • Validando (error)

Mensajes Error 0xc0202049: Flujo de datos Tarea 1: Error al insertar en la columna de solo lectura "ActionID". (Asistente de importación y exportación de SQL Server)

Error 0xc0202045: Tarea de flujo de datos 1: Error en la validación de metadatos de columna. (Asistente de importación y exportación de SQL Server)

Error 0xc004706b: Tarea de flujo de datos 1: "Componente" Destino - AuditActions "(22)" falló la validación y devolvió el estado de validación "VS_ISBROKEN". (Asistente de importación y exportación de SQL Server)

Parece que no puedo importar columnas de identidad y columnas de marcas de tiempo, entonces, ¿cómo puedo forzar la importación de estos valores?

john Gu
fuente

Respuestas:

28

Antes de importar la fecha, ejecute la siguiente consulta para configurar la inserción de identidad en:

SET IDENTITY_INSERT TableName ON

Luego haz las operaciones de importación.

Después de importar la fecha, ejecute la siguiente consulta para desactivar la inserción de identidad:

SET IDENTITY_INSERT TableName OFF
Kishore
fuente
223

Con el debido respeto a la respuesta de Kishore, ese enfoque es válido si está modificando los paquetes. Dado que está utilizando el asistente de importación / exportación, el enfoque más sencillo sería marcar la Enable Identity Insertcasilla en la pestaña Asignaciones de columnas.

En el Asistente de importación y exportación, después de seleccionar la tabla para copiar, haga clic en el Edit Mappings...botón

ingrese la descripción de la imagen aquí

En la pantalla resultante, haga clic en la Enable identity insertpropiedad y sus identidades se replicarán.

ingrese la descripción de la imagen aquí

El mismo resultado neto que la emisión SET IDENTITY_INSERT TableName ONy la APAGADO, pero esto se hace automáticamente en el momento de la compilación.

billinkc
fuente
gracias, el problema de las columnas de identidad está resuelto, y ahora tengo problemas con las columnas de marcas de tiempo. ¿Alguna idea de lo que puedo hacer con ellos?
john Gu
1
Las marcas de
Niall Connaughton
12
Si está importando varias tablas, puede seleccionar varias tablas en la lista y luego hacer clic en Editar asignaciones para que la opción Habilitar inserción de identidad se aplique a todas las tablas seleccionadas con un solo clic.
pmartin
1
La solución de Kishore no ha resuelto mi problema, pero la que usted ofrece sí. Muchas gracias.
MadJlzz
Me pregunto después de exportar si es necesario hacer: SET IDENTITY_INSERT TableName OFF. Gracias.
Kevin .NET