Зведення
Середовища, у яких виконується велика кількість транзакцій бази даних в екземплярі Microsoft SQL Server 2019, можуть спричинити серйозні суперечки щодо блокування спінлока. Суперечка, як правило, спостерігається в системах високого класу, які використовують процесори новішого покоління.
У зв'язку з важкими спінлоками можна спостерігати такі стани:
- Зазвичай спостерігається на сучасному обладнанні, зокрема на процесорах Intel Skylake. Це також можна спостерігати на інших сучасних процесорах.
- Зазвичай спостерігається на системах, які мають багато процесорів.
- Середовища можуть мати більше одночасних користувачів, наприклад критично важливі робочі ресурси з високим обсягом транзакцій.
- Симптоми включають несподівано високе використання ЦП і велику кількість подій обертання та відступу для певного типу спінлока, а також більшу кількість обертань за одне зіткнення.
Стан
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".
Спосіб усунення проблеми
Удосконалення spinlock вперше стало доступним у сукупному пакеті оновлень 2 для SQL ServerSQL Server 2019. Додаткові вдосконалення внесено в такі сукупні оновлення для SQL Server:
- Сукупний пакет оновлень 8 для SQL ServerSQL Server 2019
- Сукупний пакет оновлень 14 для SQL ServerSQL Server 2019
- Сукупний пакет оновлень 16 для SQL ServerSQL Server 2019
Радимо застосувати останнє сукупне оновлення в цьому списку, щоб вирішити різні проблеми з спінлоком.
Важливо: Щоб можна було вирішити проблему spinlock, необхідно ввімкнути Trace Flag 8101 після застосування одного з сукупних пакетів оновлень із цього списку.
Відомості про сукупні оновлення для SQL ServerSQL Server
Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Перегляньте останні сукупні оновлення для SQL Server.
Виправлення неполадок
Щоб виправити неполадки із спінблокуванням, перегляньте наступні статті, щоб отримати докладні відомості про те, як визначити та вирішити проблеми, пов'язані з високим навантаженням ЦП і спінлока в SQL Server програмах:
- Технічний документ: діагностика й вирішення проблем spinlock на SQL ServerSQL Server | Microsoft Learn
- Виправлення неполадок із високим навантаженням на ЦП в SQL ServerSQL Server | Microsoft Learn
Посилання
Дізнайтеся, за допомогою яких термінів корпорація Майкрософт описує оновлення програмного забезпечення.
sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn
DBCC TRACEON – позначки трасування (Transact-SQL)
Застереження щодо інформації третіх осіб
Продукти сторонніх виробників, згадані в цій статті, виготовлено незалежними від корпорації Майкрософт компаніями. Корпорація Майкрософт не надає жодних гарантій (непрямих та інших) щодо продуктивності й надійності цих продуктів.