Сводка
Среды, в которые выполняется большой объем транзакций базы данных на экземпляре Microsoft SQL Server 2019, могут привести к серьезному состязанию за спин-блокировку. Состязание обычно наблюдается в высококлассных системах, использующих процессоры нового поколения.
В отношении серьезного состязания за спин-блокировку можно наблюдать следующие условия:
- Обычно это наблюдается на современном оборудовании, особенно на процессорах Intel Skylake. Это также может наблюдаться на других современных процессорах.
- Обычно наблюдается в системах с большим количеством процессоров.
- В средах может быть больше одновременных пользователей, таких как критически важные рабочие нагрузки с высоким уровнем транзакций.
- Симптомы включают неожиданно высокую загрузку ЦП, множество событий спинов и откатов для определенного типа спин-блокировки, а также большее количество спинов на столкновение.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Решение
Улучшение спин-блокировки было впервые доступно в накопительном обновлении 2 для SQL Server 2019 г. Дополнительные улучшения были внесены в следующие накопительные обновления для SQL Server:
- Накопительный пакет обновления 8 для SQL Server 2019
- Накопительный пакет обновления 14 для SQL Server 2019 г.
- Накопительный пакет обновления 16 для SQL Server 2019
Мы рекомендуем применить последнее накопительное обновление в этом списке для устранения различных проблем со спин-блокировкой.
Важно: Чтобы устранить проблему со спин-блокировкой, после применения одного из CU из этого списка необходимо включить флаг трассировки 8101.
Сведения о накопительных обновлениях для SQL Server
Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
Устранение неполадок
Чтобы устранить неполадки при состязании за спин-блокировку, ознакомьтесь со следующими статьями, чтобы получить подробные сведения о том, как выявлять и устранять проблемы, связанные с состязанием за высокий уровень ЦП и спин-блокировки в SQL Server приложениях:
- Технический документ. Диагностика и разрешение конфликтов за спин-блокировку на SQL Server | Microsoft Learn
- Устранение неполадок с высокой загрузкой ЦП в SQL Server | Microsoft Learn
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.
sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn
DBCC TRACEON — флаги трассировки (Transact-SQL)
Заявление об отказе от ответственности со сторонними сведениями
Продукты сторонних разработчиков, рассмотренные в этой статье, выпущены компаниями, независимыми от корпорации Майкрософт. Корпорация Майкрософт не гарантирует надлежащую работоспособность и надежность этих продуктов.