Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Symptomy

Rozpatrzmy następujący scenariusz:

  • Masz bazę danych zawierającą opcje ALLOW_SNAPSHOT_ISOLATION i READ_COMMITTED_SNAPSHOT włączone w programie Microsoft SQL Server 2008 R2.

  • Uruchamiamy instrukcję SELECT zawierającą wskazówki TABLOCK i UPDLOCK względem tabeli w bazie danych.

  • Instrukcja SELECT jest zawijana w jawnej instrukcji BEGIN, ale polecenie commit przeliczanie nie jest wykonywane.

  • Dwie więcej z tych samych zapytań, które są uruchamiane z tymi samymi wskazówkami dotyczącymi kwerend, znajdują się w transakcji jawnej.

W tym scenariuszu podczas zatwierdzania pierwszego zapytania jedna z pozostałych zapytań będzie zakleszczenia.

Przyczyna

Ten problem występuje, ponieważ program SQL Server niepoprawnie informuje o zakleszczeniu w jednym z następujących scenariuszy:

  • Gdy ALLOW_SNAPSHOT_ISOLATION i READ_COMMITTED_SNAPSHOT są włączone dla bazy danych, wiele zapytań dotyczących tej samej transakcji może zostać błędnie zgłoszona jako zakleszczenie po zakończeniu jednego z nich.

  • Gdy jest włączony ALLOW_SNAPSHOT_ISOTION i użyto wskazówek TABLOCK i UPDLOCK , druga i trzecia instrukcja SELECT przyjmuje IX blokada z zamiarem konwersji na X. Gdy zostanie podjęta próba konwersji na znak X, blokada IX zakończy zakleszczenie.

  • Gdy ALLOW_SNAPSHOT_ISOLATION jest wyłączone, druga i trzecia kwerenda uzyska sześć blokad. W takiej sytuacji po przekonwertowaniu sześciu blokad na X jest to tylko scenariusz blokowania, a nie zakleszczenie.

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×