Sintomas
Após a instalação do SQL Server 2014 Service Pack 1 (SP1), do SQL Server 2012 SP3 ou do SQL Server 2016, você experimenta o desempenho de consulta lento e o uso de CPU do modo de alto privilégio (kernel), até que o servidor seja reiniciado. Você também pode ver um alto volume de PAGELATCH_ * espera.
Resolução
O problema foi corrigido nas seguintes atualizações cumulativas 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:
Motivo
O SQL Server usa a promoção de trava dinâmica e a lógica de rebaixamento (super/subtrava). Isso melhora o desempenho e a escalabilidade do SQL Server ao acompanhar o número de aquisições em uma trava e quanto tempo levará para obter a mesma trava se não houver contenção de travas. Em seguida, as travas qualificadas são promovidas (super trava) com base nesse modelo. Quando há muitas alterações (inserções/atualizações/exclusões) em uma pilha ou BTree (HoBT), as travas associadas ao HoBT podem ser promovidas para o status da supertrava. No entanto, o rebaixamento não ocorre automaticamente. Você pode ler mais sobre a supertrava deste artigo. Se esses HoBTs forem desalocados posteriormente, o HoBT liberado voltará para um cache global para reutilização. Quando esse HOBT é reutilizado, ele reutiliza a trava previamente promovida, mesmo quando não há contenção no HoBT. Isso adiciona sobrecarga de CPU. Esse comportamento aumenta o uso da CPU do modo privilegiado (kernel) do SQL Server até que o servidor seja reiniciado. Esse aumento normalmente adiciona apenas vários microssegundos a cada execução. Você também pode ver um alto volume de PAGELATCH_ * espera por causa dessas super travas estendidas no HoBTs.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".