Чтение незафиксированного уровня изоляции не позволяет читать записи - PullRequest
0 голосов
/ 09 сентября 2010

Мне нужно прочитать грязные записи на сервере Sql, но я не понимаю, почему я не могу. Надеюсь, вы поможете. У меня есть две вкладки в студии управления со следующим кодом
Вкладка 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 секунд. При запуске скрипта формы tab2 без tab1 для его завершения требуется 0 секунд.
Почему даже если у меня SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED записи заблокированы?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2010

Вам нужно установить SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED в Tab2, а не в Tab1.

Tab2 по-прежнему будет работать с уровнем по умолчанию READ COMMITTED.

1 голос
/ 09 сентября 2010

во вкладке 2

SELECT * FROM decision.tRequests with (nolock)
...