SQL Server 错误0xc0202049:数据流任务1:插入只读列失败

2eafrhcq  于 2023-02-03  发布在  其他
关注(0)|答案(3)|浏览(348)

我正在使用SQL Server 2008导入和导出向导。我需要导入数据库。我打开了SQL Server导入/导出向导并执行了以下操作:-
1.对于目的地,我选择了"SQL服务器本机客户端10"。
1.然后我选择了从一个或多个表或视图复制数据。

  1. SSIS立即运行
    但是我得到了以下错误,
    操作停止...
  • 初始化数据流任务(成功)
  • 初始化连接(成功)
  • 设置SQL命令(成功)
  • 设置源连接(成功)
  • 设置目标连接(成功)
  • 正在验证(错误)

错误0xc0202049:数据流任务1:插入只读列"ActionID"失败。(SQL Server导入和导出向导)
错误0xc0202045:数据流任务1:列元数据验证失败。(SQL Server导入和导出向导)
错误0xc004706b:数据流任务1:组件"目标-AuditActions"(22)验证失败,返回的验证状态为"VS_ISBROKEN"。(SQL Server导入和导出向导)
看起来我无法导入标识列和时间戳列,那么我如何才能强制导入这些值呢?

6gpjuf90

6gpjuf901#

对于Kishore的回答,这种方法在修改包时是有效的,因为您使用的是导入/导出向导,所以更直接的方法是选中Column Mappings选项卡上的Enable Identity Insert框。
在导入导出向导中,选择要复制的表后,单击[Edit Mappings...]按钮

在出现的屏幕中,单击Enable identity insert属性,您的身份将被复制。

最终结果与发出SET IDENTITY_INSERT TableName ON & OFF相同,但这是在构建时自动完成的。

iyfamqjs

iyfamqjs2#

在导入日期之前,执行以下查询以设置身份插入:

SET IDENTITY_INSERT TableName ON

然后执行导入操作。
导入日期后,执行以下查询以关闭标识插入:

SET IDENTITY_INSERT TableName OFF
idfiyjo8

idfiyjo83#

在创建数据流字符串时,您还可以选中“目标连接”的连接管理器窗格中的“保留标识”复选框。这对我很有效。enter image description here

相关问题