【问题标题】:SSIS Package RuntimeSSIS 包运行时
【发布时间】:2023-03-22 23:41:01
【问题描述】:

我需要创建一个名为 PackageRun 的表来跟踪运行我的包所需的时间。本质上,它应该存储包的开始时间和结束时间,并在表中创建一个称为持续时间的计算列。我完全是新手 SSIS,所以任何帮助将不胜感激。我有 2 个变量,称为 StartTime 和 EndTime。 StartTime 具有表达式 @[System::StartTime],而 EndTime 具有表达式 GETDATE()。

当我运行包时,我在 SSMS 中的表格只显示列标题...甚至没有提取日期信息,更不用说任何持续时间数据了。有人可以帮忙吗?有人告诉我将其创建为数据流任务,并使用来自我的变量的派生列。

谢谢

【问题讨论】:

  • SSIS 有一个集成的日志记录机制来跟踪开始日期、结束日期、失败、警告等操作。右键单击 DTS 的背景并单击日志记录。您可以让它直接记录到 SQL Server 数据库(使用自定义 SSIS 存储过程来记录数据)。您还可以使用您需要的格式或验证覆盖此 SP 以将信息记录到您想要的任何表中。

标签: ssis


【解决方案1】:

如果不查看您所做的工作,就不可能为您的具体问题提供答案。你的描述很模糊,也许你错过了在数据流中映射你的数据。话虽如此,我会给你一些一般的想法,你可以如何获得你正在寻找的东西。有很多方法可以做到这一点,所以我将发布我使用的三个选项。

选项 1。 在包的开头使用 T-SQL 或存储过程(在执行 SQL 任务中)记录开始时间、包名称等,并使用一个记录结束时间、计算的持续时间等。

选项 2。 如果您将包作为代理作业中的一个步骤执行,您可以在 ssisdb catalog.executions 表中找到此信息(此表不记录子包执行)

选项 3.(例如,如果您正在加载数百个文件并希望跟踪每个文件加载的持续时间)。 在数据流中进行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多