Застосовується до
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2

Ознаки

Розглянемо такий сценарій:

  • У вас є база даних із параметрами ALLOW_SNAPSHOT_ISOLATION та READ_COMMITTED_SNAPSHOT , які ввімкнуто в Microsoft SQL Server 2008 R2.

  • У цій статті наведено оператор Select , що містить підказки Tblock і updlock , які відповідатимуть таблиці в базі даних.

  • Оператор Select переноситься в ЯВНИЙ початок RAN, але не виконується виконання.

  • Ще два з тих самих запитів, які запускаються з тими самими підказками запитів, наведено в явній угоді.

У цьому сценарії, коли перший запит буде скоєно, один з інших запитів матиме глухий кут.

Причина

Ця проблема виникає, тому що SQL Server неправильно повідомляє про глухий кут в одному з наведених нижче сценаріїв.

  • Коли ALLOW_SNAPSHOT_ISOLATION та READ_COMMITTED_SNAPSHOT ввімкнуто для бази даних, кілька запитів, які не можуть бути отримані з тієї самої угоди, можна буде отримати повідомлення про те, що його неправильно заблоковано після завершення одного з них.

  • Коли ALLOW_SNAPSHOT_ISOTION ввімкнуто, і в розділі підказки вибрано параметр tblock і Updlock , другий і третій оператор SELECT бере IX замки з наміром перетворити на X. Під час спроби перетворити на X буде виконано блокування IX.

  • Якщо ALLOW_SNAPSHOT_ISOLATION вимкнуто, другий та третій ЗАПИТИ отримають шість блокувань. У цій ситуації, коли шість блокувань перетворюються на X, це просто блокуючий сценарій, а не глухий кут.

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.