我可以从MS SQL中的事务中排除存储过程吗?

Rau*_*aul 7 sql-server transactions

我的问题:我从业务代码中调用存储过程.此调用处于显式事务中.存储过程有时会调用另一个来将某些内容写入数据库.即使事务回滚,此数据也应保留在数据库中.类似的情况是当你想在日志表中写一些东西并且应该保留日志消息时(这不是我的情况,这只是一个类似的要求).

如何从外部事务中排除第二个存储过程?我认为我正在寻找像Oracle中的"自治事务"这样的东西.我寻找可能的仿真,但所有的解决方案看起来都不是很"好"(创建一个环回服务器,添加一些.NET方法,......)

有任何想法吗?谢谢!

Tab*_*man 0

据我所知,您无法从包含特定操作的事务中排除它们。我的方法是尝试明确地执行您想做的事情,而不是回滚整个事务。或者,如果可以的话,回滚事务,然后重新运行您不想回滚的存储过程。