如何防止插入查询注册到分布式事务?

Gul*_*zim 5 sql sql-server msdtc transactions linked-server

我在存储过程中有一个 SQL Insert 查询,用于将行插入到链接服务器表中。

由于在父事务中调用了存储过程,因此此 Insert 语句尝试使用 DTC 将行插入链接服务器。

我想避免DTC 参与进来。

有什么方法可以让插入 SQL 语句忽略事务范围(如提示)?

Ala*_*anR 4

我的建议是,将要插入的任何内容存储到临时表中,一旦过程结束,就运行跨服务器插入。据我所知,一旦进入 SProc 执行,就无法忽略您所在的事务。

相反,如果您使用.NET 2.0 的 System.Transaction 命名空间,您可以告诉特定语句不要参与任何父作用域事务。这需要您用代码而不是存储过程编写一些逻辑,但可以工作。

这是一个相关链接

祝你好运,艾伦。