在SQL Server 2005中的事务中获取未提交的数据

时间:2010-11-25 06:41:44

标签: sql-server sql-server-2005

我在SQL Server Management studio 2005中执行了以下查询,但我没有提交事务。

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

(未提交数据)。 同时,在另一个查询窗口中,我正在执行以下查询,

select * from errorlog;

但它正在等待事务tran1完成(由于锁定)。

所以我用nolock选项(来自另一个查询窗口)执行查询

select * from errorlog with (NOLOCK);

但是,我正在插入行,而不是由tran1提交。 请帮助我获取选择查询中未被活动事务插入的行。

谢谢&的问候,

Padmakumar

1 个答案:

答案 0 :(得分:1)

select * from errorlog with (READPAST);

来自"Table Hints" in MSDN

  

READPAST

     

指定数据库引擎不读取其他事务锁定的行。

也就是说,它会跳过锁(例如,由事务持有),但只能读取已提交的数据

相关问题