Сводка
Среды, в которых выполняется большой объем транзакций базы данных на экземпляре Microsoft SQL Server 2019, могут вызвать серьезную конкуренцию спин-блокировки. Эта конкуренция обычно наблюдается в высокопроизводительных системах, использующих процессоры нового поколения.
В отношении серьезной конкуренции за спин-лок могут наблюдаться следующие условия:
- Часто наблюдается на современном оборудовании, особенно на процессорах Intel Skylake. Это также может наблюдаться на других современных процессорах.
- Обычно наблюдается в системах с большим количеством процессоров.
- В средах может быть больше одновременных пользователей, например критически важные транзакционные рабочие нагрузки.
- К числу этих симптомов относится неожиданно высокая загрузка ЦП и большое число счетчиков и событий отключения для определенного типа блокировки "счетчик" и большее число циклов на один конфликт.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Решение
Улучшение Spinlock впервые стало доступно в накопительном пакете обновления 2 для SQL Server 2019. Дополнительные улучшения внесены в следующие накопительные пакеты обновления для SQL Server:
- Накопительный пакет обновления 8 для SQL Server 2019
- Накопительный пакет обновления 14 для SQL Server 2019
- Накопительный пакет обновления 16 для SQL Server 2019
Рекомендуется применить последний накопительный пакет обновления в этом списке для устранения различных проблем, связанных с конфликтом спин-блокировки.
Важно! Чтобы устранить проблему со спин-блокировкой, флаг трассировки 8101 должен быть включен после применения одного из CU из этого списка.
Сведения о накопительных обновлениях для 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)
Заявление об отказе от ответственности за продукцию сторонних производителей
Продукты сторонних разработчиков, рассмотренные в этой статье, выпущены компаниями, независимыми от корпорации Майкрософт. Корпорация Майкрософт не гарантирует надлежащую работоспособность и надежность этих продуктов.