joh*_* Gu 77 sql-server ssis sql-server-2008
我正在使用SQL Server 2008导入和导出向导.我需要导入一个数据库.我打开了SQL服务器导入/导出向导,然后执行了以下操作: -
对于目的地,我选择了"SQL server native client 10".
然后我从一个或多个表或视图中选择了复制数据.
SSIS立即运行
但我得到以下错误,
行动停止了......
初始化数据流任务(成功)
初始化连接(成功)
设置SQL命令(成功)
设置源连接(成功)
设置目标连接(成功)
验证(错误)
消息错误0xc0202049:数据流任务1:未能插入只读列"ActionID".(SQL Server导入和导出向导)
错误0xc0202045:数据流任务1:列元数据验证失败.(SQL Server导入和导出向导)
错误0xc004706b:数据流任务1:"组件"目标 - AuditActions"(22)"验证失败并返回验证状态"VS_ISBROKEN".(SQL Server导入和导出向导)
似乎我无法导入标识列和时间戳列,所以我如何强制导入这些值?
bil*_*nkc 204
考虑到Kishore的答案,如果您正在修改包,那么这种方法是有效的.由于您使用的是导入/导出向导,因此更直接的方法是选中Enable Identity InsertColumn Mappings选项卡上的框.
在"导入导出向导"中,选择要复制的表后,单击Edit Mappings...按钮

在结果屏幕中,单击Enable identity insert属性,您的身份将被复制.

与发布SET IDENTITY_INSERT TableName ON和关闭相同的净结果,但这是在构建时自动完成的.
小智 26
在导入日期之前,执行以下查询以设置标识插入
SET IDENTITY_INSERT TableName ON
Run Code Online (Sandbox Code Playgroud)
//执行导入操作
在导入日期之后执行以下查询以设置标识插入关闭
SET IDENTITY_INSERT TableName OFF
Run Code Online (Sandbox Code Playgroud)