Error 0xc0202049: Data Flow Task 1: Failure inserting into the read-only column

Sql ServerSql Server-2008SsisEtl

Sql Server Problem Overview


I am using SQL Server 2008 import and export wizard. I need to import a database. I opened the SQL server import/export wizard and I went through the following actions:-

  1. for the destination I chose "SQL server native client 10".

  2. then I selected copy data from one or more tables or view.

  3. SSIS run immediately

but i got the following errors,

> Operation stopped... > > - Initializing Data Flow Task (Success) > > > - Initializing Connections (Success) > - Setting SQL Command (Success) > > > - Setting Source Connection (Success) > > > - Setting Destination Connection (Success) > > > - Validating (Error) > > Messages Error 0xc0202049: Data Flow Task 1: Failure inserting into > the read-only column "ActionID". (SQL Server Import and Export > Wizard)
> > Error 0xc0202045: Data Flow Task 1: Column metadata validation failed. > (SQL Server Import and Export Wizard)
> > Error 0xc004706b: Data Flow Task 1: "component "Destination - > AuditActions" (22)" failed validation and returned validation status > "VS_ISBROKEN". (SQL Server Import and Export Wizard)

It seems that I can not import identity columns and timestamps columns, so how I can force these values to be imported?

Sql Server Solutions


Solution 1 - Sql Server

With all due respect to Kishore's answer, that approach is valid if you're modifying the packages. Since you're using the import/export wizard, the more straight forward approach would be to check the Enable Identity Insert box on the Column Mappings tab.

In the Import Export Wizard, after selecting the table for copy, click the Edit Mappings... button

enter image description here

In the resulting screen, click the Enable identity insert property and your identities will be replicated over.

enter image description here

Same net result as issuing SET IDENTITY_INSERT TableName ON & OFF but this is done automagically at build time.

Solution 2 - Sql Server

Before Importing date execute the below query to set identity insert on:

SET IDENTITY_INSERT TableName ON

Then do the import operations.

After importing date execute the below query to set identity insert off:

SET IDENTITY_INSERT TableName OFF

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionjohn GuView Question on Stackoverflow
Solution 1 - Sql ServerbillinkcView Answer on Stackoverflow
Solution 2 - Sql ServerKishoreView Answer on Stackoverflow