在SQL Azure中支持nolock

时间:2011-07-28 04:09:38

标签: azure azure-sql-database nolock

有没有人知道为什么SQL Azure不支持with nolock SQL语句。微软是否有计划在未来支持这一点?

1 个答案:

答案 0 :(得分:5)

我尝试在SQL azure上运行nolock查询,但它确实有效。这让我觉得该语句被忽略了,因为从技术上讲,你没有选项来设置数据库选项(READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION)。我猜这是原因,但我会尝试做更多的挖掘。

注意:这是Azure限制。

您可以找到更多信息here

  

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

更新:与两位超级SQL专家进行快速讨论后,解决方案似乎是使用如下查询:

set transaction isolation level READ UNCOMMITTED
select * from myTestTable

因此,对于每个批次,您都需要指定隔离级别。