【发布时间】:2011-07-28 04:09:38
【问题描述】:
有没有人知道为什么 SQL Azure 不支持with nolock SQL 语句。 Microsoft 是否有计划在未来支持此功能?
【问题讨论】:
标签: azure azure-sql-database nolock
有没有人知道为什么 SQL Azure 不支持with nolock SQL 语句。 Microsoft 是否有计划在未来支持此功能?
【问题讨论】:
标签: azure azure-sql-database nolock
我尝试在 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 语句中不是 支持,这些数据库选项无法更改。更多 有关基于行版本控制的隔离级别的信息,请参阅 了解基于行版本控制的隔离级别。
更新:在与两位 über SQL 专家快速讨论后,解决方案似乎是使用如下查询:
set transaction isolation level READ UNCOMMITTED
select * from myTestTable
所以对于每个批次,都需要指定隔离级别。
【讨论】: