【问题标题】:Is it possible to log the files used in a SSIS package to a custom execution table?是否可以将 SSIS 包中使用的文件记录到自定义执行表中?
【发布时间】:2018-10-24 10:55:43
【问题描述】:

我制作了一个 SSIS 包,可将一个或多个文件加载到一系列表中。我想跟踪包中使用了哪些文件并将它们存储在一个表中,最好使用以下列:

  1. ETL ID - 加载中使用的每个文件都相同
  2. 文件名
  3. 日期运行

我已经阅读了多篇使用 SSIS 日志记录功能的在线文章,但似乎只记录了运行的包,而不是包中使用的文件。

可以这样做吗?非常感谢任何帮助,在此先感谢。

【问题讨论】:

    标签: sql ssis


    【解决方案1】:

    是的,您可以创建自定义日志记录,但我发现Execute SQL Task 的使用更容易且可移植。

    我的包裹一般采用这种形式

    我审核包的启动、工作,然后记录包的完成。这种模式应该适合你。开始审计步骤看起来像

    INSERT INTO dbo.MyAudit
    SELECT ? AS EtlId, ? AS StartDate;
    

    然后当打包完成时,像这样回填运行数据

    UPDATE dbo.MyAudit
    SET SourceFile = ?, EndDate = ?, RowsInserted = ?, RowsUpdated = ?
    WHERE RunId = ?;
    

    问号 ? 是执行 SQL 任务中的序号占位符,假设您使用的是 OLE DB 连接管理器,它会连接到参数(SSIS 变量)。

    另外,可能相关 -> getting current file name

    【讨论】:

    • 刚刚得到了这个工作的一个版本。非常感谢您的回复!
    猜你喜欢
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多