gpt4 book ai didi

sql-server - 如何避免在重新运行加载数据的 SSIS 包时将数据(重复项)重新插入 SQL Server 表?

转载 作者:行者123 更新时间:2023-12-03 16:39:14 24 4
gpt4 key购买 nike

我创建的包是SSIS。第一次插入它工作正常。当我通过 SQL Server 代理作业运行包时,我在计划作业插入数据时插入了重复项。

我不知道如何停止插入多个重复记录。

我希望在通过 SQL Server 作业运行部署的包时删除重复项插入

enter image description here

最佳答案

有两种方法可以做到这一点:

(1) 使用 SQL 命令

如果源和目标位于同一服务器上,则可以使用此选项

由于您使用的是 ADO.NET 源,您可以将数据访问模式更改为 SQL 命令并仅选择目标中不存在的数据:

SELECT *
FROM SourceTable
WHERE NOT EXISTS(
SELECT 1
FROM DestinationTable
WHERE SourceTable.ID = DestinationColumn.ID)

(2) 使用查找转换

您可以使用查找转换来获取源和目标之间的不匹配行并忽略重复项:
  • UNDERSTAND SSIS LOOKUP TRANSFORMATION WITH AN EXAMPLE STEP BY STEP
  • SSIS - only insert rows that do not exists
  • SSIS import data or insert data if no match
  • Implementing Lookup Logic in SQL Server Integration Services
  • 关于sql-server - 如何避免在重新运行加载数据的 SSIS 包时将数据(重复项)重新插入 SQL Server 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55438301/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com