【发布时间】:2011-01-13 09:31:26
【问题描述】:
“每个语句(select/insert/delete/update)无论事务如何都有一个隔离级别”是真的吗?
我有一个场景,我在事务中设置了语句更新(ReadCommitted)。 另一个不在事务中的集合(选择语句)。
- 在这种情况下,当第一个集合正在执行另一个等待时。
-
如果我为 DB 死锁设置 READ_COMMITTED_SNAPSHOT。
ALTER DATABASE Amelio SET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE Amelio SET READ_COMMITTED_SNAPSHOT ON
要解决这个问题,需要在TransactionScope中加入“Select”语句吗?
【问题讨论】:
-
是的;所有语句,无论是在显式事务内部还是外部,都在某个隔离级别执行 - 但哪个隔离级别取决于 DBMS 和与会话相关的设置等。
-
在 sql server 的情况下它的行为。
标签: sql-server transactions isolation-level read-committed-snapshot