1

与显式事务 (SQLTransaction) 相比,使用隐式事务 (TransactionScope) 有什么好处?

我花了一些时间对此进行调查,并且有很多网站解释了两者之间的差异,我确实理解这一点:http ://sqlserverpedia.com/wiki/Transaction_Overview ,而这一点:命名显式和隐式事务. 我了解事务的属性,即 ACID。我还查看了 MSDN 上的文档。

我相信隐式事务更灵活且更易于使用(因为为您完成了回滚并且事务不绑定到特定连接)。我相信显式事务可以为您提供更多控制权,例如何时回滚。我想确认:a)我所说的是否属实,b)是否有任何标准用于决定是使用隐式交易还是显式交易。

在 MSDN 上它说:“强烈建议您使用更简单的隐式模型进行开发”

4

2 回答 2

1

显式交易已成为过去。除非你有充分的理由,否则不要使用它们,我想不出任何理由。TransactionScope是要走的路,几乎总是。

不用担心 DTC,TransactionScope它足够聪明,只有在需要协调两个资源时才使用 DTC。如果您只访问一个数据库,TransactionScope它将与显式事务一样快。

于 2013-01-25T23:15:14.587 回答
0

我建议尽可能避免使用 MSDTC,除非您有排查故障,编写详尽的故障排除指南,并向您的软件用户详细说明如何配置它。例如,用户需要知道如何设置其身份验证、如何确保 DTC 服务正在运行以确保远程机器可以通信、如何使用 FQDN 配置 SQL 以进行跨域事务等等。我,多年来。慢慢地赢得了战争以将其从系统中删除。换句话说,是的。如果您想保证在未来十年内出现问题,请继续使用它。恕我直言,它不是企业级工具。它根本没有什么自动的。

于 2017-10-19T13:45:56.953 回答