Symptomy
Załóżmy, że zainstalowano oryginalnie wydaną i przestarzałą aktualizację zbiorczą 6 dla programu SQL Server 2014 z dodatkiem Service Pack 1 (SP1) (numer kompilacji 12.0.4449.0, KB 3144524) oraz na temat schematów obciążenia obejmujących równoległe Wybieranie(...)Z opcją NOLOCKna domyślnym poziomie izolacji programu SQL Server lub wyższym poziomie. W takiej sytuacji mogą wystąpić sytuacje, w których występują problemy z blokowaniem lub zakleszczeniami. Wzorce, które są narażone na ten problem z blokowaniem, są następujące:
-
Wykonywanie równoległej instrukcji SELECT (...) NA tabelę z instrukcji source, a w szczególności za pomocą wskazówki NOLOCK w obszarze domyślnego poziomu izolacji programu SQL Server lub nowszej. W tym scenariuszu inne zapytania, które próbują uzyskać dostęp do źródła danych, będą blokowane.
-
W przypadku jednej transakcji blokada na wyłączność na obiekcie (na przykład w bieżącej aktualizacji tabeli), kolejna transakcja wykonuje równoległe Wybieranie (...) Z poziomu źródła danych za pomocą wskazówki NOLOCK. W tym scenariuszu zostanie zablokowana kwerenda WYBIERAJĄCa, która próbuje uzyskać dostęp.
Aby znaleźć aktualną wersję zainstalowanego programu SQL Server, zobacz Jak ustalić wersję, wydanie i aktualizację programu SQL Server i jego składników.
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w następującej zbiorczej aktualizacji dla programu SQL Server:
Zbiorcza aktualizacja 6 dla programu SQL Server 2014 z dodatkiem Service Pack 1
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:
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2014
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.