Полный запрос статистики ожидания SQL 2005-2016
Исходный запрос статистики ожидания
В коде, представленном ниже, приводится программный код, с помощью которого более не удается получить точных результатов во всех версиях SQL Server, использующих динамические объекты управления (существующие начиная с версии SQL Server 2005).
Проблемы вычисления, похоже, устраняются внутри рекурсивного соединения CTE в теле запроса - информацию, которая позволит вам решить подобные проблемы, ищите здесь (http://radio-repair.ru/raskrytie-racii/). При тестировании заполнения CTE поведение программного кода, представляющего собой источник CTE, соответствует ожиданиям. Поэтому мы решили пересмотреть запрос, но оставили его структуру и вывод в целом неизменными.

Новый универсальный запрос статистики ожидания
Новый запрос должен был устранить скрытые проблемы с рекурсивным соединением CTE. Для этого мы разделили запрос на три части:
1. Создание таблицы temp, служащей хранилищем состояний ожидания из динамического административного представления sys. dm_os_wait_stats.
2. Упрощенное обобщенное табличное выражение (CTE) на основе таблицы temp вместо прямого заполнения из динамического административного представления.
3. Тело запроса похоже на предшествующий запрос, но с небольшими изменениями, которые я внес, чтобы избавиться от несущественного времени ожидания сигнала — между освобождением или предоставлением ожидаемого ресурса (память, блокировка, завершение параллельных потоков и т. д.) и началом работы ожидающего потока.
Цель запроса — идентифицировать ожидания ресурсов, а ожидания сигнала затрудняют получение этой информации и последующие решения. Следует рассматривать время ожидания сигнала как процент общих ожиданий для диагностики возможной нагрузки на процессор, но я рекомендую выделить его из этого запроса и на этом основывать свои решения. Это проявляется в исключении времени ожидания сигнала из результатов как в столбце ожиданий, так и в столбце процентов. Существуют другие разновидности исходного запроса состояний ожидания, в которых изолировано ожидание сигнала (все же представленное в виде отдельного столбца), но обычно я вижу ожидания сигнала, смешанные с вычислениями процента.