2009-01-20 47 views
0

我需要使用DbTransactions(在单个数据库上),但我不确定在部署到生产环境时如何确保它将继续工作。SQLServer中默认允许交易吗?

应用程序能够使用SQL DbTransactions的要求是什么? 默认情况下,它们在SQLServer中是否允许(以及MSDTC的交易)?

回答

7

是的,交易是默认启用 - 我不认为这是你可以禁用的东西。每次运行查询时,除非另有说明,否则它可能作为自动提交,隐式事务运行。

如果您运行分布式事务,MSDTC将发挥作用。如果可以的话,我会避免它。该方面可以被禁用。如果这就是你正在使用的,那么你需要确保在目标系统上配置它。

只需使用DBTransaction对象进行简单的连续查询或存储过程中的事务就不需要MSDTC。

+0

阿门避免MSDTC – kemiller2002 2009-01-20 13:46:39

+0

当您的应用程序分布在多个服务器上时,并不总是那么容易。 (到目前为止总是管理它,但它往往是一种痛苦。) – MatBailie 2009-01-20 14:12:22

2

除了什么迈克尔说,

有显性和隐性的交易,如果你不启动一个事务明确的SQL Server将启动一个隐式事务对你来说,这是必要的,使其ACID(原子性,一致性,隔离性,耐用性)