2011-07-28 110 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 

所以對於每一批,你需要指定的隔離級別。