读取未提交的隔离级别不允许读取条目

时间:2010-09-09 11:40:17

标签: sql-server-2005 transactions locking

我需要读取Sql server中的脏条目,但我不明白为什么我不能。希望你会帮忙。 我在管理工作室有两个选项卡,代码如下 标签1:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
GO
BEGIN TRAN
    UPDATE decision.tRequests
    SET IsComplete = 0

    WAITFOR DELAY '00:00:25.000'        
COMMIT TRAN  

标签2:

SELECT * FROM decision.tRequests

当我运行tab1然后tab2时,我可以看到tab2中的查询需要超过25秒才能完成。当没有tab1运行脚本表单tab2时,需要0秒才能完成 为什么即使我有SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED条目被锁定了?

2 个答案:

答案 0 :(得分:2)

您需要在Tab2中设置SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED而不是Tab1。

Tab2仍将在默认READ COMMITTED级别下运行。

答案 1 :(得分:1)

表2中的

SELECT * FROM decision.tRequests with (nolock)