我正在使用SQL Server 2008导入和导出向导。我需要导入数据库。我打开了SQL Server导入/导出向导并执行了以下操作:-
1.对于目的地,我选择了"SQL服务器本机客户端10"。
1.然后我选择了从一个或多个表或视图复制数据。
- SSIS立即运行
但是我得到了以下错误,
操作停止...
- 初始化数据流任务(成功)
- 初始化连接(成功)
- 设置SQL命令(成功)
- 设置源连接(成功)
- 设置目标连接(成功)
- 正在验证(错误)
错误0xc0202049:数据流任务1:插入只读列"ActionID"失败。(SQL Server导入和导出向导)
错误0xc0202045:数据流任务1:列元数据验证失败。(SQL Server导入和导出向导)
错误0xc004706b:数据流任务1:组件"目标-AuditActions"(22)验证失败,返回的验证状态为"VS_ISBROKEN"。(SQL Server导入和导出向导)
看起来我无法导入标识列和时间戳列,那么我如何才能强制导入这些值呢?
3条答案
按热度按时间6gpjuf901#
对于Kishore的回答,这种方法在修改包时是有效的,因为您使用的是导入/导出向导,所以更直接的方法是选中Column Mappings选项卡上的
Enable Identity Insert
框。在导入导出向导中,选择要复制的表后,单击[
Edit Mappings...
]按钮在出现的屏幕中,单击
Enable identity insert
属性,您的身份将被复制。最终结果与发出
SET IDENTITY_INSERT TableName ON
& OFF相同,但这是在构建时自动完成的。iyfamqjs2#
在导入日期之前,执行以下查询以设置身份插入:
然后执行导入操作。
导入日期后,执行以下查询以关闭标识插入:
idfiyjo83#
在创建数据流字符串时,您还可以选中“目标连接”的连接管理器窗格中的“保留标识”复选框。这对我很有效。enter image description here