Applies ToSQL Server 2008 R2 Standard SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Developer SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Symptomy

Załóżmy, że w programie Microsoft SQL Server 2008 R2 lub Microsoft SQL Server 2012 na komputerze z wieloma procesorami jest wysyłana kwerenda. W zapytaniu jest używana wskazówka NOLOCK. W takiej sytuacji obciążenie procesora jest wysokie.UwagaTen problem występuje w większości przypadków, jeśli na komputerze jest zainstalowany 16 lub więcej procesorów CPU.

Przyczyna

Ten problem występuje, ponieważ algorytm spinlock Backoff nie jest wydajny.

Rozwiązanie

Informacje o aktualizacji zbiorczej

Zbiorcza aktualizacja 2 dla programu SQL Server 2012 z dodatkiem SP1

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 2. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2012 z dodatkiem SP1, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2790947 Pakiet aktualizacji zbiorczej 2 dla programu SQL Server 2012 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2012 SP1. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2772858 Kompilacje programu SQL Server 2012 wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2012

Zbiorcza aktualizacja 5 dla programu SQL Server 2012

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 5. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2012, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2777772 Pakiet aktualizacji zbiorczej 5 dla programu SQL Server 2012Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2012. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2692828 Kompilacje programu SQL Server 2012 wydane po wydaniu programu SQL Server 2012

SQL Server 2008 R2 z dodatkiem Service Pack 2

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2754552 Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które uwzględniono w poprzedniej wersji poprawki do programu SQL Server 2008 R2 z dodatkiem Service Pack 2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2730301 Kompilacja programu SQL Server 2008 R2 opublikowanych po wydaniu programu SQL Server 2008 R2 z dodatkiem Service Pack 2

Stan

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

Obejście

Aby obejść ten problem, użyj jednej z następujących metod:

  • Zmniejsz rozmiar kolumny dużych obiektów binarnych.

  • Usuń wskazówkę NOLOCK z zapytania.

  • Zmniejsz liczbę procesorów używanych przez program SQL Server.

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ą.