SSIS ETL Design
我正试图建立一个ETL工作。以下是我的主要设计考虑
- 一个主表跟踪数据拉取和状态
表名- JobStatus
- 列- JobId, StartTime, EndTime, Status
表名- JobDetails
- Job_Detail_id, JobId, TableName, StartTime, EndTime, Status
表名- ErrorLog
- ErrorLogid, ErrorDesc, Time, Comments
如何使用
每当作业失败时,作业详细信息表将帮助找出最后一个错误的表,ETL作业可以从该步骤开始
SSIS包将为源数据库和staging数据库之间的每个表定义数据流任务
工作原理示例
Put Entry in Job Status Table启动包执行
每个表的Dataflow任务将在JobDetails表中放置一个条目。加载数据结束时间和状态将更新
On Error Status更新为Error,并记录在Errorlog表
我需要你对这个方法的评论/反馈。任何与此示例相关的ETL设计的书签/博客文章也会有所帮助
我认为您提到的从故障点重新启动包执行的要求已经存在于SSIS中。您可以使用Checkpoint文件来实现该功能。内置的SSIS日志记录功能可以帮助您跟踪错误消息,并有助于解决问题。
点击这里查看我在我的网站上就你的问题写的一篇文章。我希望这可能会给你一个关于SSIS已经存在的功能的想法,以及如何最好地利用它。
我认为你可以把高质量的时间花在微调你的核心业务功能上,而不是重新发明已经存在的大部分流程。标准功能可能需要根据我们的需求做一些小改动,但我认为你不需要从头开始。
希望对你有帮助。