考试目标:
l 使用控制流设计器建立控制流
Ø 为包、容器、任务配置事务处理
Ø 设置检查点以重新启动
l 建立事件处理器
l 错误处理实现
Ø 配置数据流路径以处理错误
Ø 配置控制流路径以处理错误
l 调试包
Ø 调试过程报告
Ø 通过调试窗口查看即时结果
Ø 设置断点以检查包状态
一、配置包事务和检查点
检查点:作为错误时重新启动的起点
1、包和任务的事务设置
1)SSIS中事务协调是通过DTC(Windows Distributed Transaction Coordinator)实现的,因此SSIS服务器上DTC服务应该被启动。
2)启动事务功能
将包、容器或者任务的TransactionOption属性设置为Required;如果数据流任务上设置了事务,它也适用里它里面的数据流。
3)事务实现的原则
l 要启用事务,就必须打开DTC服务
l 如果需要将一串任务作为一个逻辑单元,则就将它们放在一个Sequence Task中,并设置容器的TransactionOption属性
l TransactionOption属性默认值为Supported,并且属性可以继承
l 如果TransactionOption属性为NotSupported,则不允许参与事务
l 如果为数据流任务指定了TransactionOption,则它里面的所有任务都是一个整体
2、实现重新启动检查点
1)使用检查点前需做一些设置:
l 包的属性
SaveCheckPoint = True
CheckpointFileName = …
CheckpointUsage = IfExists,文件存在,从上个检查点运行;否则从头开始
l 任务、容器属性
FailPackageOnFailure = True
2)检查点文件
l 在包运行加载时,检查点文件建立
l 它记录了最近一次运行时状态信息,如变量值和成功的包
l 包运行失败,文件仍然保留,供下次运行时读取
l 如果运行成功,文件自动删除
3)DTC
如果DTC不支持某个连接,则会自动失败
二、定义包状态与错误处理
1、查看包状态
l 通过任务的颜色识别状态
黄色->处理中
红色->失败
绿色->成功
l Progress面板
l Execution Designer
2、为控制流对象设置前置条件
注意:前置条件只能用于控制流,不适用于数据流;数据流图中的连接器称为数据路径
在控制流中,不同的连接器形状表示不同含义:
l 实线表示逻辑与的关系,当全部约束条件满足才运行
l 虚线表示逻辑或,某个条件满足则运行
l 标记Fx表示以表达式决定是否运行,这样就与前一个任务的状态无关
1)评价操作符属性
l Constraint :使用完成状态决定
l 表达式:表达式决定
l 表达式与约束
l 表达式或约束
2)逻辑条件属性
逻辑与/逻辑或
三、处理数据流错误与调试
1、使用错误路径处理数据流错误
不是数据流中的所有组件都有错误路径,如多播组件。
对于数据流组件处理错误有三个选项:
l 执行失败
l 忽略错误
l 个案处理
以上设置的粒度是列。
2、用数据浏览器找出数据流问题
当定义了数据浏览器,每步执行完会暂停以显示结果
选择数据路径右击—>Data Viewer
有四种类型的数据浏览器:
l 网格形式
l 柱状图
l 离散点
l 图表
当通过命令行执行时不支持数据浏览器
3、使用事件处理器处理包错误
常使用事件处理器做错误消息发送email,手动回滚;记录运行时信息;
当定义了事件处理器,它对于包和任务都有效;
当任务的DisableEventHanlders=False,则事件处理器对这个任务不起作用。
4、使用断点调试控制流
注意:断点只能应用于控制流;并且在Script task中也能设置断点。
四、总结