Poprawka: Twierdzeń wystąpić podczas wykonywania wielu kwerend ad hoc w programu SQL Server 2012

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 3074425
Symptomy
Zakładamy, że masz wiele statystyki i tabele i tabele zawierają wiele kolumn w bazie danych programu Microsoft SQL Server 2012. Podczas wykonywania wielu kwerend ad hoc do pobierania danych z tych tabel jednocześnie, może wystąpić twierdzeń.
Rozwiązanie

Informacje dotyczące zbiorczej aktualizacji

Problem został rozwiązany po raz pierwszy w następujących aktualizacji zbiorczej programu SQL Server. Zalecenie: Zainstalować najnowszą aktualizację zbiorczą dla programu SQL Server
Każdej nowej aktualizacji zbiorczej dla programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzedniej zbiorczej aktualizacji. Firma Microsoft zaleca, Pobierz i zainstaluj najnowsze aktualizacje zbiorcze dla programu SQL Server:
Więcej informacji
Kiedy youcompile lub ponownej kompilacji kwerendy SQL Server 2012, silnik musi pobrać dane wejściowe z statystyki histogramu. Musimy skanowanie tabeli systemu, a następnie załadować histogram określonych tabel, które są zaangażowane w pamięci lub pamięci podręcznej. Te wpisy tabeli systemu (dla statystyk) są przechowywane w tabeli systemowej pamięci podręcznej (CACHESTORE_SYSTEMROWSET). Obiekt pamięci, który jest używany do tworzenia tych wpisów w pamięci podręcznej nie jest partycjonowana i ma charakter globalny.

W związku z tym jeśli masz alokacji pamięci równoczesnych wykonywane podczas tej operacji, można napotkaćCMEMTHREAD czeka na tego obiektu pamięci. Zazwyczaj dzieje się tak, gdy zostanie przesłane partie kwerendy, które wymagają kompilacji lub ponownej kompilacji.

Ta poprawka zmienia obiektu globalnej pamięci, aby podzielić na partycje, tak aby alokacji pamięci współbieżne, które używają pamięci podręcznej tabeli systemowej nie napotka rywalizacji i czekaCMEMTHREAD .

Aby uzyskać więcej informacji dotyczących podobnego problemu zobaczKB 3026082: FIX: SOS_CACHESTORE spinlock Rywalizacja o pamięci podręcznej zestawu wierszy tabeli systemu powoduje wysokie wykorzystanie Procesora w 2014 lub programu SQL Server 2012.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Właściwości

Identyfikator artykułu: 3074425 — ostatni przegląd: 07/23/2015 10:59:00 — zmiana: 1.0

Microsoft SQL Server 2012 Service Pack 2

  • kbqfe kbsurveynew kbfix kbexpertiseadvanced kbmt KB3074425 KbMtpl
Opinia