KB4538688 — ИСПРАВЛЕНИЕ: в SQL Server 2019 г. возникает серьезное состязание за спин-блокировку

Применяется к
SQL Server 2019 on Windows SQL Server 2019 on Linux

Сводка

Среды, в которые выполняется большой объем транзакций базы данных на экземпляре Microsoft SQL Server 2019, могут привести к серьезному состязанию за спин-блокировку. Состязание обычно наблюдается в высококлассных системах, использующих процессоры нового поколения.

В отношении серьезного состязания за спин-блокировку можно наблюдать следующие условия:

  • Обычно это наблюдается на современном оборудовании, особенно на процессорах Intel Skylake. Это также может наблюдаться на других современных процессорах.
  • Обычно наблюдается в системах с большим количеством процессоров.
  • В средах может быть больше одновременных пользователей, таких как критически важные рабочие нагрузки с высоким уровнем транзакций.
  • Симптомы включают неожиданно высокую загрузку ЦП, множество событий спинов и откатов для определенного типа спин-блокировки, а также большее количество спинов на столкновение.

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Решение

Улучшение спин-блокировки было впервые доступно в накопительном обновлении 2 для SQL Server 2019 г. Дополнительные улучшения были внесены в следующие накопительные обновления для SQL Server:

Мы рекомендуем применить последнее накопительное обновление в этом списке для устранения различных проблем со спин-блокировкой.

Важно: Чтобы устранить проблему со спин-блокировкой, после применения одного из CU из этого списка необходимо включить флаг трассировки 8101. 
 

Сведения о накопительных обновлениях для SQL Server

Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:

Устранение неполадок

Чтобы устранить неполадки при состязании за спин-блокировку, ознакомьтесь со следующими статьями, чтобы получить подробные сведения о том, как выявлять и устранять проблемы, связанные с состязанием за высокий уровень ЦП и спин-блокировки в SQL Server приложениях:

Ссылки

Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.

sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn

DBCC TRACEON — флаги трассировки (Transact-SQL)

Заявление об отказе от ответственности со сторонними сведениями

Продукты сторонних разработчиков, рассмотренные в этой статье, выпущены компаниями, независимыми от корпорации Майкрософт. Корпорация Майкрософт не гарантирует надлежащую работоспособность и надежность этих продуктов.