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