2011-07-28 66 views

回答

5

我试着在SQL Azure上运行一个nolock查询,它工作。这让我想到声明被忽略,因为在技术上你没有选择设置数据库选项(READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION)。我猜这是原因,但我会尝试做更多的挖掘。

注意:这是一个Azure限制。

你可以找到更多信息here

无论是READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION数据库 选项设置为ON在SQL Azure数据库。由于ALTER DATABASE Transact-SQL语句中的SET 不支持 ,因此无法更改这些数据库选项。有关基于行版本控制的隔离级别的更多 信息,请参阅 了解基于行版本控制的隔离级别。

更新:有两个尤伯杯SQL专家快速的讨论后,将解决问题的方法是使用类似的查询:

set transaction isolation level READ UNCOMMITTED 
select * from myTestTable 

所以对于每一批,你需要指定的隔离级别。