《SQL SERVER 商业智能维护与管理》读书笔记(五): SSIS包调试与错误处理

考试目标:

l         使用控制流设计器建立控制流

Ø         为包、容器、任务配置事务处理

Ø         设置检查点以重新启动

l         建立事件处理器

l         错误处理实现

Ø         配置数据流路径以处理错误

Ø         配置控制流路径以处理错误

l         调试包

Ø         调试过程报告

Ø         通过调试窗口查看即时结果

Ø         设置断点以检查包状态

 

一、配置包事务和检查点

检查点:作为错误时重新启动的起点

1、包和任务的事务设置

1SSIS中事务协调是通过DTCWindows 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         如果运行成功,文件自动删除

 

3DTC

如果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中也能设置断点。

 

四、总结

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值