Sintomas
Assuma que tem muitas estatísticas e tabelas e as tabelas contêm muitas colunas numa base de dados do Microsoft SQL Server 2012 ou SQL Server 2014. Quando executa muitas consultas ad hoc para obter dados dessas tabelas simultaneamente, poderá experimentar esperas cmemthread durante a execução.
Resolução
Informação de atualização cumulativa
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Recomendamos que descarregue e instale as últimas atualizações cumulativas para o SQL Server:
Mais Informações
Quando compila ou recompile uma consulta no SQL Server 2012, o motor precisa de obter entradas do histograma estatístico. Precisamos fazer uma tomografia de mesa do sistema e depois carregar o histograma específico das tabelas que estão envolvidas na memória ou cache. Estas entradas de tabela do sistema (para as estatísticas) são armazenadas na cache do Quadro do Sistema(CACHESTORE_SYSTEMROWSET). O objeto de memória que é usado para criar estas entradas na cache não é dividido, e é global. Portanto, se tiver alocações de memória simultâneas realizadas durante esta operação, encontrará CMEMTHREAD espera neste objeto de memória. Isto geralmente acontece quando você envia muitas consultas que requerem compilação ou recompilação. Este hotfix altera o objeto de memória global para ser dividido de modo a que as alocações de memória simultâneas que utilizam a cache de Tabela do Sistema não encontrem contenção e o CMEMTHREAD aguarde. Para obter mais informações sobre o problema similar, consulte KB 3026082: FIX: SOS_CACHESTORE contenção de spinlock na cache de linha de tabela do sistema causa uma alta utilização da CPU no SQL Server 2012 ou 2014.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".