Applies ToSQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptomy

Załóżmy, że masz wiele statystyk i tabel, a tabele zawierają wiele kolumn w bazie danych programu Microsoft SQL Server 2012 lub SQL Server 2014. Po wykonaniu wielu zapytań ad hoc w celu pobrania danych z tych tabel może wystąpić CMEMTHREAD czekać na wykonanie.

Rozwiązanie

Informacje o aktualizacji zbiorczej

Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zalecamy pobranie i zainstalowanie najnowszych aktualizacji zbiorczych programu SQL Server:

Więcej informacji

Podczas kompilowania lub ponownego kompilowania zapytania w programie SQL Server 2012 aparat musi uzyskać dane wejściowe z histogramu statystyk. Musimy przeprowadzić skanowanie tabeli systemowej, a następnie załadować określony histogram z tabel, które są uwzględnione w pamięci lub w pamięci podręcznej. Te wpisy tabeli systemowej (dla statystyk) są przechowywane w pamięci podręcznej tabeli systemowej (CACHESTORE_SYSTEMROWSET). Obiekt pamięci, który jest wykorzystywany do tworzenia tych wpisów w pamięci podręcznej, nie jest podzielony na partycje i jest globalny. W związku z tym, jeśli w trakcie tej operacji zostaną przydzielone współbieżne pamięci, pojawi się CMEMTHREAD oczekiwanie na ten obiekt pamięci. Dzieje się tak zwykle w przypadku przesyłania wielu zapytań wymagających kompilacji lub ponownej kompilacji. Ta poprawka powoduje zmianę globalnego obiektu pamięci na partycjonowany, co powoduje, że współbieżne przydziały pamięci korzystające z pamięci podręcznej tabeli systemowej nie napotkają rywalizacji, a CMEMTHREAD czeka. Aby uzyskać więcej informacji na temat podobnego problemu, zobacz artykuł KB 3026082: Poprawka: SOS_CACHESTORE rywalizacja spinlock w pamięci podręcznej zestawów wierszy w tabeli systemowej powoduje wysokie użycie procesora w programie SQL Server 2012 lub 2014.

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