什么是隔离级别,当2个并发事务试图更改它时

时间:2019-02-05 14:47:20

标签: sql sql-server database transactions isolation-level

我在同一个表上有两个事务。

BEGIN TRAN
SET TRAN ISOLATION LEVEL SERIALIZABLE
--something more

第二个

BEGIN TRAN
SET TRAN ISOLATION LEVEL REPEATABLE READ
--something more

他们是在这个级别上一起工作还是在自己的级别上工作?如果隔离级别之一是快照,会发生什么?

1 个答案:

答案 0 :(得分:2)

SET TRANSACTION ISOLATION LEVEL影响其被调用的连接

它指定此连接将允许的内容,该连接将使用的锁定策略,等等。如果另一个连接使用不同的隔离级别,则两个级别同时“生效”,例如他们各自的联系。要了解它们如何交互,您需要从每个连接的角度单独考虑它们。