Příznaky
Předpokládejme, že máte mnoho statistiky a tabulek a tabulky obsahují mnoho sloupců v databázi Microsoft SQL Server 2012 nebo SQL Server 2014. Když provedete mnoho dotazů ad hoc k načtení dat z těchto tabulek souběžně, můžete během provádění čekat CMEMTHREAD.
Řešení
Informace o kumulativní aktualizaci
Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:
Další informace
Při kompilaci nebo rekompilaci dotazu v SQL serveru 2012 potřebuje modul získat vstupy ze statistického histogramu. Musíme provést kontrolu systémové tabulky a pak načíst konkrétní histogram tabulek, které se podílejí do paměti nebo mezipaměti. Tyto položky systémových tabulek (pro statistiky) se ukládají do mezipaměti systémové tabulky (CACHESTORE_SYSTEMROWSET). Paměťový objekt, který slouží k vytvoření těchto položek v mezipaměti, není rozdělený na oddíly a je globální. Pokud v průběhu této operace máte přidělené souběžné využití paměti, bude CMEMTHREAD čekat na tento paměťový objekt. To se obvykle stává, když odešlete spoustu dotazů, které vyžadují kompilaci nebo rekompilaci. Tato oprava hotfix změní rozdělení objektu globální paměti tak, aby se souběžné přidělování paměti, které používají mezipaměť systémové tabulky, nemohly zaznamenat a CMEMTHREAD čeká. Další informace o podobném problému najdete v článku znalostní báze KB 3026082: Oprava: SOS_CACHESTORE vytvoření obsahu 2014 2012 na spinlock
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.