KB3191487 - Melhoria da estabilidade do SERVIDOR SQL e execução de consultas simultâneas para algumas consultas de loja de colunas no SQL Server 2014 e 2016

Sintomas

Considere o seguinte cenário:

  • Você tem uma tabela que tem índices de loja de colunas agrupados nele, e a tabela tem muitas colunas (em centenas).

  • Os dados (tipo de dados) destas colunas são dados altamente compressíveis, como varchar.

  • Executar uma declaração SELECT contra esta tabela para selecionar um subconjunto grande ou todas as colunas desta tabela.

  • A sua declaração selecionada tem uma cláusula WHERE que limita a sua saída a poucas linhas (a consulta é altamente seletiva).

Neste cenário, poderá encontrar qualquer um dos seguintes sintomas:

  • A carga de trabalho simultânea (outras consultas que são executadas ao mesmo tempo no servidor como esta consulta), pode encontrar diminuição do desempenho e perda de produção.

  • Pode ver uma utilização de CPU elevada intermitente.

  • Se consultar sys.dm_os_ring_buffers e ver as entradas do tipo SchedulerMonitor, encontra mensagens intermitentes de "programador não-retor o rendimento" registadas durante o período de execução desta consulta.

  • Pode receber um erro de agendamento não-recadorante no registo de erros e pode ser gerado um ficheiro de despejo de memória de sintomas.

Resolução

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

Corrigir detalhesOs trabalhadores que processam os segmentos das colunas (descomprimindo-os e digitalizando-os para linhas elegíveis) usavam para "ceder" o uso do CPU a outros trabalhadores/execuções de consultas simultâneas quando um determinado número de linhas limiar era a produção. Quando a cláusula WHERE foi altamente seletiva para produzir poucas filas, os trabalhadores que processam esta consulta processaram segmentos não reprimidos e um grande número de segmentos (porque muito poucas filas se qualificam) antes de abdicarem da CPU de forma cooperativa para que outros trabalhadores processem a sua carga de trabalho. Isto levou a uma utilização irregular da CPU e à degradação da produção para carga de trabalho simultânea. A correção otimiza e melhora o algoritmo de partilha de CPU para tais consultas de loja de colunas.

Referências

Conheça a terminologia que a Microsoft utiliza para descrever atualizações de software.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×