插入空 table 时违反主键约束

Violation of Primary Key Constraint when inserting into empty table

我正在尝试使用 SSIS 将 select 信息从一个数据库复制到另一个数据库。我在 SSMS 中直接从旧的 table 编写了新的脚本,所以它们应该是相同的。它们被设置为 [Col1]、[Col2]、[Col3]、[Col4]、[Col5],具有 [Col1] 和 [Col2] 的集群 PK。

我开始在 SSIS 中设置数据流任务,并使用 select 语句

的 OLEDB 源
SELECT [Col1], [Col2], [Col3], [Col4], [Col5] FROM [DBO].[dbo].[table] WHERE [Col5] LIKE 'AB%'

然后 SQL 服务器目的地。我一直收到主键约束错误,因此我将其更改为 OLEDB 源和文件目标以进行错误处理。 615911 行被写入数据库,另外 49970 行被写入文件。

我在被拒绝的行之间找不到任何共同话题。它们都是唯一的,因为它们必须是唯一的,因为源 table 上的 PK 约束与目标的相同。我进行了现场检查,目标 table 中不存在任何内容,但当我尝试从错误输出文件复制到目标 table 时,我仍然遇到 PK 错误。据我所知,目标 table 中甚至不存在具有相同 [Col1] 或 [Col2] 的条目,尽管其他行确实有重复的 [Col1] 或 [Col2].

有什么建议吗?

来源table区分大小写。目的地 table 不是。删除它并再次创建它,同时将 Col1 的排序规则更改为 CS 而不是 CI 有效。

我仍然不知道为什么删除 PK 后返回的重复项与踢到错误文件的行之间存在差异,但这并不重要,只要它能正常工作。