欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

集成服务入门(实验10)使用事务和检查点

发布时间:2025/6/15 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 集成服务入门(实验10)使用事务和检查点 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

  为了处理数据一致性,我们需要使用事务。

  在有多个任务时,可能在执行过程中遇到报错而停止,如果希望在修复问题之后从上一次报错的地方继续执行(而不是从头开始运行所有的任务),这时候可以使用检查点。


一、使用事务

  在本实验中,将添加2个执行T-SQL脚本的任务,并且故意使用第2个任务出错。

1. 添加任务

  从“SSIS工具箱”将“执行SQL任务”图标拖到“控制流”窗格,并更名为“Update TaxRate”。

  重复上一步骤,再添加一个“执行SQL任务”,并命名为“Update TaxType”。


  编辑“Update TaxRate”。


  编辑“Update TaxType”。


  注意:运行这个脚本将导致报错。因为TaxType不是字符数据类型。


2. 调试

  启用调试。第一个任务执行成功了,但第二个执行失败。


3. 使用事务

  先为整个包建立事务。在“控制流”窗格的空白处单击右键,然后在右键菜单中选择“属性”。


  将TransactionOption改为Required。表示如果父任务没有事务,那么容器将启动一个事务;如果父任务已经存在一个事务,那么容器将联接父任务的事务。


  同时选择“Update TaxRate”和“Update TaxType”任务,在属性窗格中将TransactionOption修改为Supported。表示如果已经存在一个父事务,那么容器将联接该事务。(Not Supported则表示:即使存在父事务,容器也不会联接该事务。)


4. 调试

  启用调试。


  在“进度”窗格可以看到,第二个任务出错,结果导致两个任务都执行失败了。



二、使用检查点

1. 启用检查点

  在“控制流”窗格的空白片单击右键,在右键菜单中选择“属性”。

  由于事务会影响到所有的任务(如前面的实验,其中一个T-SQL脚本报错将导致2个任务都失败),所以先将事务的 TransactionOption 选项设为 Supported。

  为检查点的CheckpointFileName选项设置一个文件名。将CheckpointUsage选项设为IfExists,表示如果存在CheckpointFilename选项指定的检查点文件,那么将使用该文件,并根据检查点重新启动包。将SaveCheckpoints选项设为True,表示要写入检查点文件。


2. 设置检查点

  选择“Update TaxType”任务,将属性的FailPackageOnFailure设为True。


3. 启用调试

  启用调试。第二个任务执行失败,信息都被保存在检查点文件中。


4. 修正脚本

  修改第二个任务的脚本,给TaxType赋一个整数型的数值。


5. 再次调试

  然后再启用调试。可见两个任务都执行成功。

  打开“进度”窗格,可见这次调试是从上次的故障点继续往下执行(仅执行了第二个任务),第一个任务(上一次已经执行成功了)这次没有被执行。


转载于:https://blog.51cto.com/jimshu/1402065

总结

以上是生活随笔为你收集整理的集成服务入门(实验10)使用事务和检查点的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。