поддержка nolock в SQL Azure - PullRequest
1 голос
/ 28 июля 2011

Кто-нибудь имеет представление о том, почему SQL Azure не поддерживает with nolock операторы SQL. Есть ли у Microsoft планы поддержать это в будущем?

1 Ответ

5 голосов
/ 28 июля 2011

Я попытался выполнить запрос nolock на SQL Azure, и он работает. Это заставило меня подумать, что это заявление игнорируется, потому что технически у вас нет возможности установить опцию базы данных (READ_COMMITTED_SNAPSHOT и ALLOW_SNAPSHOT_ISOLATION). Я предполагаю, что это причина, но я попытаюсь еще кое-что сделать.

Примечание. Это ограничение Azure.

Вы можете найти больше информации здесь :

База данных READ_COMMITTED_SNAPSHOT и ALLOW_SNAPSHOT_ISOLATION параметры установлены в ON в базе данных SQL Azure. Потому что SET в инструкции ALTER DATABASE Transact-SQL нет поддерживается, эти параметры базы данных не могут быть изменены. Для большего информацию об уровнях изоляции на основе версий строк, см. Понимание уровней изоляции на основе управления версиями строк.

Обновление: после быстрого обсуждения с двумя экспертами über SQL решение, по-видимому, заключается в использовании запроса, подобного:

set transaction isolation level READ UNCOMMITTED
select * from myTestTable

Таким образом, для каждой партии необходимо указать уровень изоляции.

...