有谁知道为什么 SQL Azure 不支持with nolock
SQL 语句。Microsoft 是否有计划在未来支持此功能?
问问题
4139 次
1 回答
5
我尝试在 SQL azure 上运行 nolock 查询,它可以工作。这让我认为该语句被忽略了,因为从技术上讲,您没有设置数据库选项(READ_COMMITTED_SNAPSHOT 和 ALLOW_SNAPSHOT_ISOLATION)的选项。我猜这就是原因,但我会尝试做更多的挖掘。
注意:这是 Azure 限制。
您可以在此处找到更多信息:
在 SQL Azure 数据库中,READ_COMMITTED_SNAPSHOT 和 ALLOW_SNAPSHOT_ISOLATION 数据库选项都设置为 ON。因为不支持 ALTER DATABASE Transact-SQL 语句中的 SET,所以无法更改这些数据库选项。有关基于行版本控制的隔离级别的更多信息,请参阅了解基于行版本控制的隔离级别。
更新:在与两位 über SQL 专家快速讨论后,解决方案似乎是使用如下查询:
set transaction isolation level READ UNCOMMITTED
select * from myTestTable
因此,对于每个批次,您都需要指定隔离级别。
于 2011-07-28T14:17:14.970 回答