Poprawka: Niska wydajność wyst?puje w SQL Server 2008 R2 lub SQL Server 2012 obciążenia Procesora jest odnotowana w rywalizacji QUERY_EXEC_STATS spinlock

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2662301 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Microsoft rozprowadza Microsoft SQL Server 2008 R2 Z dodatkiem Service Pack 1 (SP1) lub Microsoft SQL Server w 2012 r. ustala się w jednym pliku do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie aktualizacje zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 R2 Service Pack 1 (SP1) lub Microsoft SQL Server 2012 wydania aktualizacji.

Symptomy

Rozważmy następujący scenariusz:
  • Wystąpienie Microsoft SQL Server 2008 R2 lub Microsoft SQL Server 2012 można zainstalować na komputerze.
  • Równoczesne sprawozdań, podobne do następujących są wykonywane w instancji:
    CREATE PROC p AS RETURN (
    query
    ); EXEC p;
    Można też uruchomić kwerendę, która zawiera poniższy kod:

    IF EXISTS(
    subquery
    );
  • Użycie Procesora jest wysokie i wątków roboczych są w stanie sprawne.
  • Rywalizacji o QUERY_EXEC_STATS spinlock jest wysoki.
    Na przykład licznika pętli, kolizji i wycofywania wartości QUERY_EXEC_STATS spinlock Zwiększ szybko.
    Uwaga Aby uzyskać więcej informacji na temat monitorowania QUERY_EXEC_STATS spinlock, zobacz sekcję "Więcej informacji".

W tym scenariuszu może wystąpić niska wydajność.

Przyczyna

Tego problemu, ponieważ występuje SQL Server 2008 R2 lub SQL Server 2012 tworzy i niszczy niektórych struktur pamięci o statystykę globalną zamiast nich buforowania. Powoduje to wąskie gardła wydajności.

Rozwiązanie

Zbiorcza aktualizacja informacji

SQL Server 2012

Poprawkę dotyczącą tego problemu został opublikowany w zbiorczej aktualizacji 1 dla programu SQL Server 2012. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2679368 Zbiorczy pakiet aktualizacji 1 dla programu SQL Server 2012
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich 2012 serwera SQL naprawić wydania. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający 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 SQL Server 2012 tworzy wydane po wydaniu programu SQL Server 2012
Do instalacji programu SQL Server 2012, należy zastosować poprawkę programu SQL Server 2012.

Zbiorczy pakiet aktualizacji 5 dla programu SQL Server 2008 R2 z dodatkiem SP1

Poprawka usuwająca ten problem został opublikowany w 5 aktualizacja zbiorcza. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2 z dodatkiem SP1 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2659694 Zbiorczy pakiet aktualizacji 5 dla programu SQL Server 2008 R2 z dodatkiem SP1
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich programu SQL Server 2008 R2 SP1 naprawić wydania. Zaleca się, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający 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:
2567616 SQL Server 2008 R2 buduje wydane po wydaniu dodatku SP1 dla programu SQL Server 2008 R2

Więcej informacji

Aby monitorować QUERY_EXEC_STATS spinlock, dopasować opóźnienia i liczba iteracji, odpowiednie dla danego środowiska, w poniższym kodzie, a następnie uruchom go:

SET NOCOUNT ON
CREATE TABLE #spins([Spinlock Name] varchar(50),Collisions numeric,Spins numeric,[Spins/Collision] float,[Sleep Time (ms)] numeric,Backoffs numeric, InsertTime datetime DEFAULT GETDATE())
DECLARE @counter int = 1
WHILE @counter < 10
      BEGIN
            INSERT INTO #spins ([Spinlock Name], Collisions, Spins, [Spins/Collision], [Sleep Time (ms)], Backoffs) EXECUTE ('DBCC SQLPERF (''SPINLOCKSTATS'') WITH NO_INFOMSGS')
            WAITFOR DELAY '00:00:05'
            SET @counter +=1
      END
SELECT * FROM #spins WHERE [Spinlock Name] = 'QUERY_EXEC_STATS' ORDER BY InsertTime
DROP TABLE #spins

Stan

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

Właściwości

Numer ID artykułu: 2662301 - Ostatnia weryfikacja: 12 kwietnia 2012 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
Słowa kluczowe: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2662301 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:2662301

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com