SSIS 执行SQL任务

jjx5373 2014-10-30 06:21:38
有个疑问,请高手帮忙解答。
如果我在执行SQL任务的组件里面执行了4个存储过程,
这四个存储过程,是在一个事务里,还是在4个事务里?
...全文
250 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjx5373 2014-10-31
  • 打赏
  • 举报
回复
好的,谢谢! 还有一贴,有时间,帮忙看看呗。 http://bbs.csdn.net/topics/390918607
还在加载中灬 2014-10-31
  • 打赏
  • 举报
回复
普遍认为存储过程会自动实现事务操作,其实不然。存储过程只是提供的事务操作的支持。要实现事务操作,还得自己实现。 需要设置 SET XACT_ABORT { ON | OFF } 示例
create proc testproc
as
SET XACT_ABORT on
begin tran
insert into tableA (field1) values ('aa')
insert into tableB (field1) values ('bb')
commit tran
SET XACT_ABORT off
jjx5373 2014-10-31
  • 打赏
  • 举报
回复
那我是不是可以理解成:就像SP1里调用 SP2,SP3,SP4,SP5。 SP1就相当于现在的执行SQL任务组件。 对吧。
KeepSayingNo 2014-10-31
  • 打赏
  • 举报
回复
是的,这个例如C#都有自己的事务机制来批量执行SQL,你这种情况,4个存储过程是顺序执行的,不在一个事务里面,但是存储过程中SQL语句的执行是在一个事务里
jjx5373 2014-10-31
  • 打赏
  • 举报
回复
那你的意思就说,一个执行SQL任务组件,执行多条SQL,是需要自己来控制事务的。
还在加载中灬 2014-10-30
  • 打赏
  • 举报
回复
看你有没有包在事务里面了,如果没有, 也是有可能在最小的时间差里出现了异常,造成前后不一致

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧