【问题标题】:SSIS Package last run date in a variable变量中的 SSIS 包上次运行日期
【发布时间】:2014-05-06 20:56:14
【问题描述】:

我的 SSIS 包有一个执行 SQL 任务,该任务有一个在运行时需要日期时间过滤器的查询。

这个过滤器的值应该是包成功运行的最后日期时间。

检索、保存和使用这个 lastrun datetime 的标准/最佳方法是什么?

【问题讨论】:

  • 是的,尤其是。在stackoverflow.com/questions/19733136/…——这个家伙花了很多时间在这个答案上,甚至回答了你的后续问题......社区中有 5 个人投票赞成......是什么阻止你给他信任?
  • 接受的答案。完成。

标签: sql-server ssis


【解决方案1】:

对于那种事情,我在数据库中有一个“配置”表来存储值。然后可以在每次包运行时读取和更新它。您也可以使用文本文件,但这并不安全。

编辑:

我通过在调用存储过程的包末尾调用 SQL 任务来实现这一点。该 SP 接受指示成功 (1) 或失败 (0) 的位参数。 SP 使用 GetDate() 记录 Proc 运行的时间(即 Package 完成的时间)。

【讨论】:

  • 您使用什么变量/查询来检索上次成功的运行时间?我确实看到 [System::StartTime] 但如何仅在成功时插入它?
  • 谢谢!但是,您如何确定包执行总体上是成功还是失败?
  • 我的LoadExtractFiles数据流有一条成功线和一条失败线。在成功线上,我调用SP并传递1。在失败线上,我调用SP并传递0。至于成功的定义,自然是每个包都有的。
【解决方案2】:

正如 DeanOC 所发布的,我的包裹中总是有一个步骤来存储这类东西。它可以像insert select current timestamp... 一样简单。或者它可能是我正在处理的数据中时间戳列的最大值,以便下次运行我可以按...> StoredMaxTimestamp 过滤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    相关资源
    最近更新 更多