如何防止插入查询注册到分布式事务中?
时间:2020-03-05 18:57:02 来源:igfitidea点击:
我在存储的proc中有一个SQL插入查询,用于将行插入链接的服务器表中。
由于在父事务中调用了存储的proc,因此此Insert语句尝试使用DTC将行插入到链接的服务器中。
我想避免DTC参与其中。
我有什么办法可以使Insert SQL语句忽略事务范围(如提示)?
解决方案
回答
我的建议是,将要插入的任何内容存储到登台表中,一旦过程结束,则将跨服务器插入。据我所知,一旦进入SProc执行范围,就无法忽略我们正在进行的事务。
相反,如果使用.NET 2.0的System.Transaction命名空间,则可以告诉特定语句不参与任何父范围事务。这将需要我们用代码而不是存储过程来编写一些逻辑,但是会起作用。
这是一个相关的链接。
祝你好运,
艾伦