MSSQLSERVER_17883
Область применения: SQL Server
Сведения
Атрибут | Значение |
---|---|
Название продукта | SQL Server |
ИД события | 17883 |
Источник событий | MSSQLSERVER |
Компонент | SQLEngine |
Символическое имя | SRV_SCHEDULER_NONYIELDING |
Текст сообщения | Процесс %ld:%ld:%ld (0x%lx) Worker 0x%p, по-видимому, не возвращает управление планировщику %ld. Время создания потока: %I64d. Примерная загрузка ЦП для потока: ядро %I64d мс, пользователь %I64d мс. Эффективность использования процесса %d%%. Бездействие системы %d%%. Интервал: %I64d мс. |
Описание
Указывает, что существует возможная проблема с потоком, не возвращающим планировщику. Эта ошибка может быть вызвана состоянием операционной системы, проблемой среды или программным обеспечением в SQL Server или если SQL Server не получает достаточно циклов для выполнения. Эта ошибка может уйти, если поток в конечном итоге даст.
Действие пользователя
При просмотре сведений об сообщении об ошибке вы увидите, что возникают определенные характеристики. Например:
Если время в пользовательском режиме быстро поднимается и продолжает делать это, вероятно, причина является несвязанным циклом в подсистеме SQL Server, которая неправильно дает.
Если время режима ядра быстро поднимается, поток тратит большую часть времени в операционной системе и требует отладки ядра, чтобы определить первопричину этого поведения.
Если время ядра и время пользователя не увеличиваются быстро, поток, скорее всего, ожидает вызова API, например
WaitForSingleObject
,Sleep
WriteFile
илиReadFile
возврата. Или поток может не быть запланирован операционной системой. Условия остановки API обычно требуют отладки режима ядра для определения их первопричины.Если
System Idle %
низкий иProcess Utilization %
низкий, SQL Server может не получать достаточно циклов ЦП. Проверьте использование ЦП других приложений в системе. Кроме того, проверьте, происходит ли разбиение по страницам в системе. ВыполнениеSELECT * FROM sys.dm_os_ring_buffers
также может предоставить дополнительные сведения.Если
kernel + user
время низко, ноProcess Utilization %
высокий, условие ошибки может указывать на то, что преемтивные потоки используют все ЦП (например, сборку мусора).
Объединение информации с использованием системы и временем простоя может дать представление о характере проблемы.
Чтобы понять логику обнаружения и распространенные причины возникновения этой ошибки, см. инструкции по диагностике и исправлению ошибок 17883, 17884, 17887 и 17888.