SSIS ETL BEST PRACTICE

PackageRunLog(ExecutionGuid,PackageName,SourceTableName,DestinationTableName,StartTimeUTC,EndTimeUTC,NumberOfRowsMoved,Status,MaxUpdateTime)

记录SSIS包每次的运行信息,何时开始,何时结束,运行状态,从哪个表输送多少条数据到某个表。

PQOUNITS : 一个测试框架,存储测试用例,根据要求执行,可以生成测试结果的报告,如果出现错误,及时发现错误。

例如写一些tsql来检验SSIS包运行的结果是否有问题。还有对OLAP进行测试的时候,使用MDX和等值的TSQL进行比对。

Email notification:

1.根据packagerunlog,检测其中状态失败的信息,发送邮件。

2.在SSIS包的onpostExecute事件处事中添加发送邮件的任务,格式化邮件,发送详细的错误信息。

事实表分区 :对行数比较大的事实表进行分区,然后再使用SSIS包进行动态修改分区函数,检查在合适的时候split分区,更新分区方案。

增量加载: 使用 Max Rowversion,Max Updatetime 存储到元数据表中,根据这些信息进行更新。

更新统计在执行ETL packages之前。

DATA MODEL: 设计维度表和事实表的时候,需要注意除了要添加PK外,一般必须要添加一个UK或AK。通过这个键区分重复数据,也可以进行

增量加载

对于Execute SQL task, 可以使用索引视图,CTE和临时表(加索引)来提高执行的性能。

 

posted on 2013-11-15 20:13  tneduts  阅读(411)  评论(2编辑  收藏  举报

导航