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.