2010-11-25 73 views
2

我在SQL Server Management Studio 2005中執行了以下查詢,但沒有提交事務。在SQL Server 2005中獲取未完成的事務數據

begin transaction tran1 
insert into errorlog (errorlogid,OCCURREDTIME,MESSAGE) values (10002,0,''); 

(數據未提交)。 同時,在另一個查詢窗口,我執行下面的查詢,

select * from errorlog; 

但它正在等待交易TRAN1完成(由於鎖)。

所以我執行的查詢使用NOLOCK選項(從另一個查詢窗口)

select * from errorlog with (NOLOCK); 

但是,我得到了行插入,而不是由TRAN1 COMMITED。 請幫助我獲取沒有被選擇查詢中的活動事務插入的行。

感謝&問候,

Padmakumar

回答

1
select * from errorlog with (READPAST); 

"Table Hints" in MSDN

READPAST

指定數據庫引擎不讀取由其他事務鎖定的行。

也就是說,它跳過鎖(例如,由事務持有),但除此之外,讀取提交的數據僅

+0

是否有可能與READPAST發出的選擇查詢,並沒有任何共享locks.I認爲,READPAST也問題共享鎖同時執行查詢。 – padmakumar 2010-11-25 07:44:49

相關問題