KB3162589 - CORREÇÃO: Desempenho de SQL Server diminuído quando há uso elevado da CPU em modo privilegiado e um alto volume de espera de travamento de página

Aplica-se A
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Express - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Sintomas

Depois de instalar o SQL Server 2014 Service Pack 1 (SP1), SQL Server 2012 SP3 ou SQL Server 2016, verifica-se um desempenho de consulta lento e uma utilização elevada da CPU em modo privilegiado (kernel) até o servidor ser reiniciado. Também poderá ver um elevado volume de espera PAGELATCH_*.

Resolução

O problema foi corrigido nas seguintes atualizações cumulativas do SQL Server:

Recomendação: Instale a atualização cumulativa mais recente para o SQL Server

Cada nova atualização cumulativa para 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 transfira e instale as atualizações cumulativas mais recentes para SQL Server:

      

        
      

Causa

SQL Server usa promoção de trava dinâmica e lógica de rebaixamento (super/sub-latch). Isso melhora o desempenho e a escalabilidade do SQL Server controlando o número de aquisições em uma trava e quanto tempo deve levar para adquirir a mesma trava se não houver contenção de trava. Em seguida, as travas elegíveis são promovidas (super-trava) com base nesse modelo. Quando há muitas alterações (inserções/atualizações/exclusões) em um Heap ou BTree (HoBT), as travas associadas ao HoBT podem ser promovidas ao status de super trava. No entanto, o rebaixamento não ocorre automaticamente. Você pode ler mais sobre super/sub-travamento neste artigo.

Se esses HoBTs forem posteriormente transferidos, o HoBT liberado voltará para um cache global para reutilização. Quando esse HOBT é reutilizado, ele reutiliza a trava promovida anteriormente, mesmo quando não há disputa sobre o HoBT. Isso adiciona sobrecarga da CPU. Esse comportamento aumenta o uso da CPU de modo privilegiado (kernel) de SQL Server até que o servidor seja reiniciado. Esse aumento normalmente não adiciona mais do que vários microssegundos a cada execução. Você também pode ver um alto volume de esperas PAGELATCH_* por causa dessas supertravas estendidas em HoBTs. 

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".