【问题标题】:SSIS prevent delete after insert if insert fails如果插入失败,SSIS 防止插入后删除
【发布时间】:2017-07-05 17:02:41
【问题描述】:

我需要使用 SSIS 从某处提取数据,将其放入 SQL 数据库表中,然后删除源数据。我已经看到这个答案SSIS : delete rows after an update or insert 和选项 #3(添加多播以拆分 2 个操作)看起来不错,但我有一个问题......

如果插入到目标失败会发生什么?我的记录还会被删除吗?我想确保我不会因为插入失败而意外丢失任何数据 - 有没有更好的方法?

我正在使用 SQL Server 2012 执行 SSIS 包。

谢谢

【问题讨论】:

  • 首先,您的来源是 excel/csv/flat 文件还是其他数据库表?无论如何,如果您使用Data flow task 并且插入失败,除非您调整属性,否则该包将不会进一步执行。所以默认情况下,如果插入失败,您的源将不会删除。

标签: sql-server ssis


【解决方案1】:

如果您使用多播,那么是的,即使插入失败,删除也会发生。如果要使删除依赖于插入,则需要在单独的连续任务中执行它们,并且它们之间具有优先级约束。

【讨论】:

  • 谢谢。如果我的理解正确,我将在控制流中创建 2 个条目,这些条目与一个绿色箭头链接,并限制成功。然后在我的第一个数据流中我执行插入,第二个我执行删除?
  • 太好了 - 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多