是否可以将SSIS包中使用的文件记录到自定义执行表中?

时间:2018-10-24 10:55:44

标签: sql ssis

我已经制作了一个SSIS包,可以将1个或多个文件加载到一系列表中。我想跟踪软件包中使用了哪些文件,并将它们存储在表格中,理想情况下包含以下几列:

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

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

是否可以这样做?非常感谢您的任何帮助。

1 个答案:

答案 0 :(得分:1)

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

我的包裹通常采用这种形式

AuditWorkAudit

我审核程序包的开始,执行工作,然后记录程序包完成情况。这种模式应该适合您。 “开始审核”步骤类似于

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

然后,在包完成后,像这样回填运行数据

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

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

也可能相关-> getting current file name