Ознаки

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

  • У вас є база даних із параметрами 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, перелічених у розділі "застосовується до".

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

Отримуйте нові функції раніше за інших
Приєднатися до Microsoft оцінювачів

Чи були ці відомості корисні?

Наскільки ви задоволені якістю перекладу?
Що вплинуло на ваші враження?

Дякуємо за ваш відгук!

×