Sintomas
Suponha que você tenha muitas estatísticas e tabelas e as tabelas contenham muitas colunas em um banco de dados do Microsoft SQL Server 2012 ou do SQL Server 2014. Ao executar muitas consultas ad hoc para recuperar dados dessas tabelas simultaneamente, você pode enfrentar CMEMTHREAD espera durante a execução.
Resolução
Informações de atualização cumulativa
O problema foi corrigido primeiro na atualização cumulativa a seguir do SQL Server.
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Recomendamos que você baixe e instale as atualizações cumulativas mais recentes do SQL Server:
Informações adicionais
Quando você compila ou recompila uma consulta no SQL Server 2012, o mecanismo precisa obter entradas do histograma de estatísticas. Precisamos executar uma verificação de tabela do sistema e, em seguida, carregar o histograma específico das tabelas envolvidas na memória ou cache. Essas entradas da tabela do sistema (para as estatísticas) são armazenadas no cache de tabela do sistema (CACHESTORE_SYSTEMROWSET). O objeto de memória que é usado para criar essas entradas no cache não está particionado e é global. Portanto, se você tiver atribuições de memória simultâneas realizadas durante essa operação, encontrará CMEMTHREAD aguarda nesse objeto de memória. Isso geralmente acontece quando você envia muitas consultas que exigem compilação ou recompilação. Esse hotfix altera o objeto de memória global para ser particionado para que as atribuições de memória simultâneas que usam o cache da tabela do sistema não encontrem contenção e as CMEMTHREADs sejam esperadas. Para obter mais informações sobre o problema semelhante, consulte KB 3026082: correcria: SOS_CACHESTORE disputa de spinlock no cache do conjunto de linhas da tabela do sistema causa alto uso da CPU no SQL Server 2012 ou 2014.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".