2016-07-15 13 views
0

我正在调试SSIS中的包。在数据流任务中,我有一个源和目标,并在查找组件之间添加一些额外的列,这些列将导入到目标中。当我执行数据流任务时,由于“违反PRIMARY KEY约束”而失败SSIS重复的主键,但密钥不存在

问题是某些主键不是重复的,它不存在于目标表中。任何想法呢?

感谢

+0

愚蠢的问题,但你添加额外的列后刷新目的地?另外,你是否重定向错误行?当发生这样的错误时,这总是一个好主意,因此您可以看到哪些行导致了问题,这可能会让您更深入地了解正在发生的事情。 –

+0

拿起主键,加载数据并查看它并与您会看到主键出现在你的眼前......除非你有一个触发器做一些更奇怪的事情 –

+0

另外,如果可以的话,截断目标表,然后运行它,看看你是否仍然遇到同样的问题。 (当然,如果它是生产数据,则不要截断:P) –

回答

1

如果您收到此消息,但重复是没有在表中,然后重复上导入的数据。由于您的目标表可能包含生产数据,因此我会根据您的原始表创建一个新表。

SELECT * INTO newtable的从OldTable

加载数据到这个新表,它不具有主键。

Select PrimaryKeyColumn, Count(*) From NewTable Group By PrimaryKeyColumn Order By Count(*) Desc 

这会显示任何重复的值。