Resumo

Os ambientes que executam um elevado volume de transações de base de dados numa instância do Microsoft SQL Server 2019 podem produzir uma contenção de spinlock grave. Geralmente, a contenção é observada em sistemas de alta qualidade que utilizam processadores de nova geração.

As seguintes condições podem ser observadas relativamente à contenção severa do spinlock:

  • Geralmente observado em hardware moderno, particularmente processadores Intel Skylake. Também pode ser observado noutros processadores modernos.

  • Geralmente observado em sistemas com muitos processadores.

  • Os ambientes podem ter utilizadores mais simultâneos, como cargas de trabalho altamente transacionais críticas para a missão.

  • Os sintomas incluem uma utilização inesperadamente elevada da CPU e muitos spins e eventos de recuo para um tipo específico de spinlock, e um número mais elevado de rotações por colisão.

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Resolução

A melhoria do spinlock foi disponibilizada pela primeira vez na Atualização Cumulativa 2 para SQL Server 2019. Foram efetuadas melhorias adicionais nas seguintes atualizações cumulativas para SQL Server:

Recomendamos que aplique a atualização cumulativa mais recente nesta lista para resolver vários problemas de contenção do spinlock. 

Importante: Para conseguir corrigir o problema do spinlock, o sinalizador de rastreio 8101 tem de estar ativado depois de aplicar uma das CUs desta lista.   

Acerca das atualizações cumulativas do SQL Server

Cada nova atualização cumulativa para SQL Server contém todas as correções e todas as correções de segurança incluídas na atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

Resolução de problemas

Para resolver problemas de contenção de spinlocks, veja os seguintes artigos para obter informações aprofundadas sobre como identificar e resolver problemas relacionados com a elevada contenção da CPU e do spinlock nas aplicações SQL Server: 

Referências

Saiba mais sobre a terminologia que Microsoft utiliza para descrever as atualizações de software.

sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn

DBCC TRACEON – Sinalizadores de Rastreio (Transact-SQL)

Exclusão de responsabilidade de informações de terceiros

Os produtos de terceiros referidos neste artigo são fabricados por empresas independentes da Microsoft. A Microsoft não concede qualquer garantia, implícita ou de outra natureza, relativamente ao desempenho ou à fiabilidade destes produtos.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.