Поделиться через


sys.dm_os_wait_stats (Transact-SQL)

Возвращает данные обо всех случаях ожидания, обнаруженных выполнявшимися потоками. Это агрегированное представление можно использовать для диагностики проблем производительности как всего SQL Server, так и конкретных запросов и пакетов.

Имя столбца

Тип данных

Описание

wait_type

nvarchar(60)

Имя типа ожидания.

waiting_tasks_count

bigint

Число ожиданий данного типа. Этот счетчик наращивается каждый раз при начале ожидания.

wait_time_ms

bigint

Общее время ожидания данного типа в миллисекундах. Это время включает в себя время signal_wait_time_ms.

max_wait_time_ms

bigint

Максимальное время ожидания данного типа.

signal_wait_time_ms

bigint

Разница между временем сигнализации ожидающего потока и временем начала его выполнения.

Разрешения

Необходимо разрешение VIEW SERVER STATE для сервера.

Замечания

Типы ожиданий

  • Ожидания ресурсов
    Ожидание ресурсов имеет место, когда исполнитель запрашивает доступ к ресурсу, который недоступен по причине его использования другим исполнителем или пока еще недоступен. Примерами ожидания ресурсов являются блокировки, кратковременные блокировки, сетевые ожидания и ожидания дискового ввода-вывода. Ожидания блокировок и кратковременных блокировок представляют собой ожидания объектов синхронизации.

  • Ожидания очередей
    Ожидание очереди имеет место, когда исполнитель простаивает, ожидая назначения работы. Ожидания очередей чаще всего наблюдаются в системных фоновых задачах, таких как мониторинг взаимоблокировок или очистка удаленных записей. Такие задачи будут ожидать размещения запросов работы в рабочей очереди. Ожидания очередей могут также периодически становиться активными, даже если в очередь не помещались новые пакеты.

  • Внешние ожидания
    Внешнее ожидание имеет место, когда исполнитель SQL Server ожидает завершения внешнего события, например вызова расширенной хранимой процедуры или запроса к связанному серверу. При диагностике критических препятствий следует помнить, что внешние ожидания не всегда означают простой исполнителя, так как этот поток может в данный момент выполнять какой-либо внешний код.

Представление sys.dm_os_wait_stats отображает время выполненных ожиданий. Текущие ожидания в этом динамическом административном представлении не отображаются.

Исполнитель SQL Server не считается ожидающим при выполнении любого из следующих условий.

  • Ресурс становится доступным.

  • Очередь не является пустой.

  • Завершается внешний процесс.

Хотя поток больше не находится в ожидании, он необязательно будет запущен немедленно. Дело в том, что такой поток сначала помещается в очередь работоспособных исполнителей и должен ожидать такта для запуска по расписанию.

В SQL Server счетчики времени ожидания представляют собой значения типа bigint, поэтому их переполнение не столь вероятно, как переполнение соответствующих счетчиков в предыдущих версиях SQL Server.

Значения времени конкретных типов ожиданий в процессе выполнения запроса могут указывать на узкие места или точки простоя в запросе. Подобным образом высокие значения времени ожидания или числа ожиданий по всему серверу могут указывать на узкие места или пробки во взаимодействии запросов на экземпляре сервера. Например, ожидания, связанные с блокировкой, указывают на конфликты запросов на данные; ожидания, связанные с кратковременными блокировками ввода-вывода страниц, — на медленные значения времени ответа ввода-вывода; ожидания, связанные с кратковременными блокировками обновления страниц, указывают на неверную файловую структуру.

Содержимое данного динамического административного представления можно очистить, запустив следующую команду.

DBCC SQLPERF ('sys.dm_os_wait_stats', CLEAR);
GO

Эта команда сбрасывает все счетчики на 0.

ПримечаниеПримечание

Данная статистика не сохраняется при перезапуске SQL Server, и все данные накапливаются с момента последнего сброса статистики или перезапуска сервера.

В следующей таблице перечислены типы ожиданий, с которыми могут сталкиваться задачи.

Тип ожидания

Описание

ABR

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

ASSEMBLY_LOAD

Имеет место при монопольном доступе к загрузке сборки.

ASYNC_DISKPOOL_LOCK

Имеет место при попытке синхронизации параллельных потоков, выполняющих такие задачи, как создание или инициализация файла.

ASYNC_IO_COMPLETION

Имеет место, когда для своего завершения задача ожидает ввода-вывода.

ASYNC_NETWORK_IO

Имеет место при операциях сетевой записи, когда задача блокируется из сети. Убедитесь, что клиент обрабатывает данные с сервера.

AUDIT_GROUPCACHE_LOCK

Имеет место, когда возникает ожидание блокировки, которая управляет доступом к определенному кэшу. Кэш содержит сведения о том, какие аудиты используются для слежения за каждой группой действий аудита.

AUDIT_LOGINCACHE_LOCK

Имеет место, когда возникает ожидание блокировки, которая управляет доступом к определенному кэшу. Кэш содержит сведения о том, какие аудиты используются для аудита входа за группами действий аудита.

AUDIT_ON_DEMAND_TARGET_LOCK

Имеет место, когда существует ожидание блокировки, используемой для обеспечения одиночной инициализации связанных с аудитом целей расширенного события.

AUDIT_XE_SESSION_MGR

Имеет место, когда существует ожидание блокировки, используемой для синхронизации запуска и остановки, связанных с аудитом сеансов расширенного события.

BACKUP

Имеет место, когда задача блокируется как часть процесса резервного копирования.

BACKUP_OPERATOR

Имеет место при ожидании задачей монтирования ленты. Для просмотра состояния ленты служит запрос sys.dm_io_backup_tapes. Если операция монтирования не назначена к выполнению, этот тип ожидания может указывать на аппаратную проблему накопителя на магнитной ленте.

BACKUPBUFFER

Имеет место при ожидании задачей резервного копирования данных или буфера для их записи. Этот тип встречается редко, преимущественно при ожидании задачей монтирования магнитной ленты.

BACKUPIO

Имеет место при ожидании задачей резервного копирования данных или буфера для их записи. Этот тип встречается редко, преимущественно при ожидании задачей монтирования магнитной ленты.

BACKUPTHREAD

Имеет место, когда для своего завершения задача ожидает завершения задачи резервного копирования. Время ожидания может быть длительным, от нескольких минут до нескольких часов. Если задача, выполнение которой ожидается, находится в процессе ввода-вывода, этот тип не указывает на проблему.

BAD_PAGE_PROCESS

Имеет место, когда фоновый регистратор сбойных страниц пытается избежать запуска чаще, чем каждые пять секунд. Чрезмерное количество сбойных страниц вызывает частые запуски регистратора.

BROKER_CONNECTION_RECEIVE_TASK

Имеет место при ожидании доступа для получения сообщения на конечной точке соединения. Доступ на получение к конечной точке сериализуется.

BROKER_ENDPOINT_STATE_MUTEX

Имеет место при конфликте доступа к состоянию конечной точки соединения компонента Service Broker. Доступ к состоянию изменений сериализуется.

BROKER_EVENTHANDLER

Имеет место при ожидании задачи в первичном обработчике событий компонента Service Broker. Это должно длиться очень короткое время.

BROKER_INIT

Имеет место при инициализации компонента Service Broker в каждой из активных баз данных. Это не должно происходить часто.

BROKER_MASTERSTART

Имеет место, когда задача ожидает запуска первичного обработчика событий компонента Service Broker. Это должно длиться очень короткое время.

BROKER_RECEIVE_WAITFOR

Имеет место при ожидании RECEIVE WAITFOR. Это стандартная ситуация, если нет готовых к получению сообщений.

BROKER_REGISTERALLENDPOINTS

Имеет место в процессе инициализации конечной точки соединения компонента Service Broker. Это должно длиться очень короткое время.

BROKER_SERVICE

Имеет место, когда список целей компонента Service Broker, связанный с целевой службой, обновляется или когда в нем изменяется приоритет.

BROKER_SHUTDOWN

Имеет место при запланированном завершении работы компонента Service Broker. Это ожидание обычно длится короткое время, если вообще имеет место.

BROKER_TASK_STOP

Имеет место, если обработчик задачи очереди компонента Service Broker пытается завершить работу задачи. Проверка состояния сериализуется и заранее должна находиться в выполняющемся состоянии.

BROKER_TO_FLUSH

Имеет место, если модуль отложенной записи на диск компонента Service Broker производит сброс хранимых в памяти объектов передачи в рабочую таблицу.

BROKER_TRANSMITTER

Имеет место при ожидании передачи сообщений компонентом Service Broker.

BUILTIN_HASHKEY_MUTEX

Может иметь место после запуска экземпляра, во время инициализации внутренних структур данных. После инициализации структур данных повторяться не будет.

CHECK_PRINT_RECORD

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

CHECKPOINT_QUEUE

Имеет место при ожидании задачей контрольных точек следующего запроса контрольной точки.

CHKPT

Имеет место при запуске сервера для уведомления потока контрольных точек о возможности его запуска.

CLEAR_DB

Происходит во время операций, которые изменяют состояние базы данных, таких как открытие или закрытие базы данных.

CLR_AUTO_EVENT

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает инициации конкретного автособытия. Ожидание обычно длится долго и не указывает на проблему.

CLR_CRST

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает ввода критической секции задачи, используемой в данный момент другой задачей.

CLR_JOIN

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает завершения другой задачи. Такое состояние ожидания имеет место при соединении задач.

CLR_MANUAL_EVENT

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает инициации конкретного ручного события.

CLR_MEMORY_SPY

Возникает во время ожидания получения блокировки для структуры данных, используемой для записи всех выделений виртуальной памяти, поступающих из среды CLR. Структура данных блокируется для обеспечения ее целостности при осуществлении параллельного доступа.

CLR_MONITOR

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает получения блокировки мониторинга.

CLR_RWLOCK_READER

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает блокировки модуля чтения.

CLR_RWLOCK_WRITER

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает блокировки модуля записи.

CLR_SEMAPHORE

Имеет место, когда задача в данный момент производит выполнение среды CLR и ожидает семафора.

CLR_TASK_START

Имеет место при ожидании задачей CLR выполнения запуска.

CLRHOST_STATE_ACCESS

Имеет место, если происходит ожидание для получения монопольного доступа к структурам данных, на которых размещена среда CLR. Этот тип ожидания происходит при установке или удалении среды выполнения CLR.

CMEMTHREAD

Имеет место, когда задача ожидает объекта памяти, безопасного для использования потоками. Время ожидания может возрасти при конфликтах между несколькими задачами, пытающимися выделить память через один и тот же объект памяти.

CXPACKET

Имеет место при попытке синхронизации итератора обмена обработчика запросов. Можно попытаться снизить степень параллелизма, если конфликты такого типа становятся проблемой.

CXROWSET_SYNC

Имеет место при параллельном просмотре диапазона.

DAC_INIT

Имеет место при инициализации выделенного административного соединения.

DBMIRROR_DBM_EVENT

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

DBMIRROR_DBM_MUTEX

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

DBMIRROR_EVENTS_QUEUE

Имеет место при ожидании обработки событий в процессе зеркального отображения базы данных.

DBMIRROR_SEND

Имеет место, когда задача ожидает очистки резервного журнала коммуникаций сетевого уровня для получения возможности отправки сообщений. Указывает на начало переполнения уровня коммуникаций, что повлияет на пропускную способность зеркального отображения базы данных.

DBMIRROR_WORKER_QUEUE

Указывает, что рабочая задача зеркального отображения базы данных ожидает дальнейшей работы.

DBMIRRORING_CMD

Имеет место, когда задача ожидает сохранения записей журнала на диск. Это состояние ожидания обычно занимает длительные периоды времени.

DEADLOCK_ENUM_MUTEX

Имеет место, когда монитор взаимоблокировок и представление sys.dm_os_waiting_tasks пытаются удостовериться, что SQL Server не запустил несколько операций поиска взаимоблокировок одновременно.

DEADLOCK_TASK_SEARCH

Большое время ожидания этого ресурса указывает на то, что сервер выполняет запросы в верхней части представления sys.dm_os_waiting_tasks и что эти запросы блокируют поиск взаимоблокировок монитором взаимоблокировок. Такой тип ожидания используется только монитором взаимоблокировки. Запросы в верхней части представления sys.dm_os_waiting_tasks используют ожидание DEADLOCK_ENUM_MUTEX.

DEBUG

Имеет место в процессе отладки Transact-SQL и CLR с целью внутренней синхронизации.

DISABLE_VERSIONING

Имеет место, когда SQL Server опрашивает диспетчер транзакции версий с целью проверки, не является ли отметка времени самой ранней активной транзакции более поздней, чем отметка времени начала изменения состояния. При этом варианте все транзакции моментальных снимков, запущенные до запуска инструкции ALTER DATABASE, завершаются. Это состояние ожидания используется в случае, когда SQL Server отключает управление версиями с помощью инструкции ALTER DATABASE.

DISKIO_SUSPEND

Имеет место, когда задача ожидает доступа к файлу при активном внешнем резервном копировании. Это регистрируется для каждого ожидающего пользовательского процесса. Значение, большее 5 на один пользовательский процесс, может указывать на то, что внешнее резервное копирование занимает слишком много времени.

DISPATCHER_QUEUE_SEMAPHORE

Имеет место, когда поток из пула диспетчеров ожидает поступления дополнительной работы. Время ожидания данного типа ожидания увеличится, если диспетчер находится в состоянии простоя.

DLL_LOADING_MUTEX

Имеет место один раз при ожидании загрузки DLL-библиотеки синтаксического анализатора XML.

DROPTEMP

Имеет место между попытками удаления временного объекта, если предыдущая попытка закончилась неудачно. Длительность ожидания растет экспоненциально с каждой неудачной попыткой удаления.

DTC

Имеет место, когда задача ожидает события, используемого для управления переходом состояний. Это состояние контролирует, когда осуществляется восстановление транзакций службы координатора распределенных транзакций Microsoft (MS DTC) после получения SQL Server уведомления о недоступности службы MS DTC.

Данное состояние также описывает задачу, ожидающую инициации фиксирования транзакции MS DTC SQL Server, а SQL Server при этом ожидает завершения фиксирования транзакции MS DTC.

DTC_ABORT_REQUEST

Имеет место в течение сеанса исполнителя службы MS DTC, когда сеанс ожидает получения владения транзакцией MS DTC. После получения службой MS DTC владения транзакцией сеанс может произвести ее откат. В общем случае сеанс будет ожидать другого сеанса, использующего транзакцию.

DTC_RESOLVE

Имеет место, когда в ходе транзакции между базами данных задача восстановления ожидает базу данных master, чтобы запросить результат транзакции.

DTC_STATE

Имеет место, когда задача ожидает события, защищающего изменения внутреннего объекта глобального состояния службы MS DTC. Это состояние должно держаться в течение очень короткого промежутка времени.

DTC_TMDOWN_REQUEST

Имеет место в рабочем сеансе MS DTC, когда SQL Server получает уведомление о недоступности службы MS DTC. Сначала исполнитель ждет начала процесса восстановления MS DTC. Затем он ждет получения результата распределенной транзакции, над которой он работал. Это может продолжаться до тех пор, пока соединение со службой MS DTC не будет восстановлено.

DTC_WAITFOR_OUTCOME

Имеет место, когда задачи восстановления ждут активизации службы MS DTC для получения возможности разрешения подготовленных транзакций.

DUMP_LOG_COORDINATOR

Имеет место, когда главная задача ожидает формирования данных подзадачей. Обычно это состояние не наблюдается. Длительное время ожидания указывает на непредвиденную блокировку. Следует изучить поведение подзадачи.

DUMPTRIGGER

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

EC

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

EE_PMOLOCK

Имеет место в процессе синхронизации определенных типов выделения памяти в ходе выполнения инструкции.

EE_SPECPROC_MAP_INIT

Имеет место в процессе синхронизации создания внутренней хэш-таблицы процедуры. Это может произойти только при первом доступе к хэш-таблице после запуска экземпляра SQL Server.

ENABLE_VERSIONING

Имеет место, когда SQL Server ожидает завершения всех транзакций обновления базы данных перед объявлением готовности базы к переходу в разрешенное состояние изоляции моментальных снимков. Это состояние используется в случае, если SQL Server разрешает изоляцию моментальных снимков с помощью инструкции ALTER DATABASE.

ERROR_REPORTING_MANAGER

Имеет место в процессе синхронизации нескольких параллельных инициализаций журнала ошибок.

EXCHANGE

Имеет место в процессе синхронизации в итераторе обмена обработчика запросов при параллельных запросах.

EXECSYNC

Имеет место в процессе синхронизации в обработчике запросов в областях, не относящихся к итератору обмена, при параллельных запросах. Примерами таких областей являются битовые карты, большие двоичные объекты (LOB) и итератор подкачки. Это состояние ожидания может часто использоваться объектами LOB.

EXECUTION_PIPE_EVENT_INTERNAL

Имеет место при синхронизации между производителем и потребителем пакетного выполнения, переданных через контекст соединения.

FAILPOINT

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

FCB_REPLICA_READ

Имеет место при синхронизации операций чтения разреженного файла моментального снимка (или временного моментального снимка, созданного с помощью DBCC).

FCB_REPLICA_WRITE

Имеет место при синхронизации помещения страницы или запроса страницы из разреженного файла моментального снимка (или временного моментального снимка, созданного с помощью DBCC).

FS_FC_RWLOCK

Имеет место, когда сборщик мусора FILESTREAM ожидает выполнения одного из следующих действий:

  • Отключение сборки мусора (используется операциями резервного копирования и восстановления).

  • Выполнение одного цикла сборщика мусора FILESTREAM.

FS_GARBAGE_COLLECTOR_SHUTDOWN

Имеет место, если сборщик мусора FILESTREAM ожидает завершения задач очистки.

FS_HEADER_RWLOCK

Имеет место при ожидании получения доступа к заголовку FILESTREAM контейнера данных FILESTREAM с целью считывания или обновления содержимого файла заголовка FILESTREAM (Filestream.hdr).

FS_LOGTRUNC_RWLOCK

Имеет место при ожидании получения доступа к усечению журнала FILESTREAM для выполнения любого из следующих действий.

  • Временное отключение усечения журнала FILESTREAM (FSLOG) (используется операциями резервного копирования и восстановления).

  • Выполнение одного цикла усечения журнала FSLOG.

FSA_FORCE_OWN_XACT

Возникает, если операции ввода-вывода файла FILESTREAM необходимо установить соединение со связанной транзакцией, которая в данный момент занята другим сеансом.

FSAGENT

Имеет место, если операция ввода-вывода файла FILESTREAM ожидает ресурс агента FILESTREAM, используемого операцией ввода-вывода другого файла.

FSTR_CONFIG_MUTEX

Имеет место во время ожидания завершения перенастройки другой функции FILESTREAM.

FSTR_CONFIG_RWLOCK

Имеет место при ожидании сериализации доступа к параметрам конфигурации FILESTREAM.

FT_METADATA_MUTEX

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

FT_RESTART_CRAWL

Имеет место в случае, когда требуется перезапуск полнотекстового сканирования с последней надежной точки для восстановления после временного сбоя. Ожидание позволяет рабочим задачам, работающим в данный момент над этим заполнением, завершиться или завершить текущий этап.

FULLTEXT GATHERER

Имеет место в процессе синхронизации полнотекстовых операций.

GUARDIAN

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

HTTP_ENUMERATION

Имеет место при запуске системы для перечисления конечных точек HTTP с целью запуска протокола HTTP.

HTTP_START

Имеет место при ожидании соединением завершения инициализации HTTP.

IMPPROV_IOWAIT

Имеет место, когда SQL Server ожидает завершения ввода-вывода при массовой загрузке.

INTERNAL_TESTING

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

IO_AUDIT_MUTEX

Имеет место в процессе синхронизации буферов событий трассировки.

IO_COMPLETION

Имеет место при ожидании завершения операций ввода-вывода. Этот тип ожидания обычно не относится к операциям ввода-вывода страниц данных. Ожидания завершения ввода-вывода страниц данных отображаются как PAGEIOLATCH_*.

IO_RETRY

Имеет место, когда операция ввода-вывода (например, чтение или запись на диск), завершается неудачно в связи с нехваткой ресурсов, после чего производится повторная попытка.

IOAFF_RANGE_QUEUE

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

KSOURCE_WAKEUP

Используется задачей управления службами при ожидании запросов от диспетчера управления службами. Ожидание обычно длится долго и не указывает на проблему.

KTM_ENLISTMENT

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

KTM_RECOVERY_MANAGER

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

KTM_RECOVERY_RESOLUTION

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

LATCH_DT

Имеет место при ожидании кратковременной блокировки DT (удаления). Не включает в себя буферные кратковременные блокировки или кратковременные блокировки меток транзакции. Список ожиданий LATCH_* доступен в представлении sys.dm_os_latch_stats. Обратите внимание на то, что в представлении sys.dm_os_latch_stats ожидания LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX и LATCH_DT сгруппированы.

LATCH_EX

Имеет место при ожидании кратковременной блокировки EX (монопольной). Не включает в себя буферные кратковременные блокировки или кратковременные блокировки меток транзакции. Список ожиданий LATCH_* доступен в представлении sys.dm_os_latch_stats. Обратите внимание на то, что в представлении sys.dm_os_latch_stats ожидания LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX и LATCH_DT сгруппированы.

LATCH_KP

Имеет место при ожидании кратковременной блокировки KP (удержания). Не включает в себя буферные кратковременные блокировки или кратковременные блокировки меток транзакции. Список ожиданий LATCH_* доступен в представлении sys.dm_os_latch_stats. Обратите внимание на то, что в представлении sys.dm_os_latch_stats ожидания LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX и LATCH_DT сгруппированы.

LATCH_NL

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

LATCH_SH

Имеет место при ожидании кратковременной блокировки SH (коллективной). Не включает в себя буферные кратковременные блокировки или кратковременные блокировки меток транзакции. Список ожиданий LATCH_* доступен в представлении sys.dm_os_latch_stats. Обратите внимание на то, что в представлении sys.dm_os_latch_stats ожидания LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX и LATCH_DT сгруппированы.

LATCH_UP

Имеет место при ожидании кратковременной блокировки UP (обновления). Не включает в себя буферные кратковременные блокировки или кратковременные блокировки меток транзакции. Список ожиданий LATCH_* доступен в представлении sys.dm_os_latch_stats. Обратите внимание на то, что в представлении sys.dm_os_latch_stats ожидания LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX и LATCH_DT сгруппированы.

LAZYWRITER_SLEEP

Имеет место при приостановке задач средства отложенной записи. Представляет собой показатель времени, затраченного ожидающими фоновыми задачами. Не следует учитывать это состояние при исследовании пользовательских простоев.

LCK_M_BU

Имеет место, когда задача ожидает получения блокировки для массового обновления (BU). Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_IS

Имеет место, когда задача ожидает получения блокировки с намерением коллективного доступа (IS). Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_IU

Имеет место, когда задача ожидает получения блокировки с намерением обновления (IU). Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_IX

Имеет место, когда задача ожидает получения блокировки с намерением монопольного доступа (IX). Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_NL

Имеет место, когда задача ожидает получения блокировки типа NULL на текущее ключевое значение и блокировки вставки диапазона между текущим и предыдущим ключами. Блокировка типа NULL на ключ — это блокировка с немедленным снятием. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_S

Имеет место, когда задача ожидает получения совмещаемой блокировки на текущее ключевое значение и блокировки вставки диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_U

Задача ожидает получения блокировки на обновление текущего ключевого значения и блокировки вставки диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_X

Имеет место, когда задача ожидает получения монопольной блокировки на текущее ключевое значение и блокировки вставки диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RS_S

Имеет место, когда задача ожидает получения совмещаемой блокировки на текущее ключевое значение и совмещаемой блокировки диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RS_U

Имеет место, когда задача ожидает получения блокировки обновления текущего ключевого значения и блокировки обновления диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_S

Имеет место, когда задача ожидает получения совмещаемой блокировки на текущее ключевое значение и монопольной блокировки диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_U

Имеет место, когда задача ожидает получения блокировки на обновление текущего ключевого значения и монопольной блокировки диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_X

Имеет место, когда задача ожидает получения монопольной блокировки на текущее ключевое значение и монопольной блокировки диапазона между текущим и предыдущим ключами. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_S

Имеет место, когда задача ожидает получения совмещаемой блокировки. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_SCH_M

Имеет место, когда задача ожидает получения блокировки на изменение схемы. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_SCH_S

Имеет место, когда задача ожидает получения совмещаемой блокировки схемы. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_SIU

Имеет место, когда задача ожидает получения совмещаемой блокировки с намерением обновления. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_SIX

Имеет место, когда задача ожидает получения совмещаемой блокировки с намерением монопольного доступа. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_U

Имеет место, когда задача ожидает получения блокировки на обновление. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_UIX

Имеет место, когда задача ожидает получения блокировки на обновление с намерением монопольного доступа. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LCK_M_X

Имеет место, когда задача ожидает получения блокировки на монопольный доступ. Матрицу совместимости блокировок см. в представлении sys.dm_tran_locks (Transact-SQL).

LOGBUFFER

Имеет место, когда задача ожидает освобождения пространства в буфере журнала для сохранения записи в журнал. Последовательные высокие значения могут указывать на то, что устройства записи в журнал не справляются с объемом записей, формируемых сервером.

LOGGENERATION

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

LOGMGR

Имеет место, когда задача ожидает завершения каких-либо связанных с журналом внешних операций ввода-вывода перед тем, как закрыть журнал для закрытия базы данных.

LOGMGR_FLUSH

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

LOGMGR_QUEUE

Имеет место, когда задача записи в журнал ожидает рабочих запросов.

LOGMGR_RESERVE_APPEND

Имеет место, когда задача ожидает проверки освобождения достаточного пространства для новой записи в журнал после его усечения. Для уменьшения времени этого ожидания попробуйте увеличить размер файлов журнала для затронутой базы данных.

LOWFAIL_MEMMGR_QUEUE

Имеет место при ожидании доступности памяти для использования.

ДОПОЛНИТЕЛЬНО

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

MSQL_DQ

Имеет место, когда задача ожидает завершения операции распределенного запроса. Это используется для выявления потенциальных взаимоблокировок приложений MARS. Ожидание окончится по завершении вызова распределенного запроса.

MSQL_XACT_MGR_MUTEX

Имеет место, когда задача ожидает получения прав на владение диспетчером транзакций сеансов для выполнения транзакционной операции сеансового уровня.

MSQL_XACT_MUTEX

Имеет место в процессе синхронизации использования транзакции. Прежде чем запрос сможет использовать транзакцию, он должен получить объект взаимного исключения.

MSQL_XP

Имеет место, когда задача ожидает завершения расширенной хранимой процедуры. В SQL Server это состояние ожидания используется для выявления потенциальных взаимоблокировок приложений с режимом MARS. Ожидание окончится по завершении вызова расширенной хранимой процедуры.

MSSEARCH

Имеет место в процессе вызова полнотекстового поиска. Ожидание окончится по завершении операции полнотекстового поиска. Это указывает не на конфликт, а на длительность операций полнотекстового поиска.

NET_WAITFOR_PACKET

Имеет место при ожидании соединением сетевого пакета в процессе чтения из сети.

OLEDB

Имеет место при вызове SQL Server поставщика OLE DB для собственного клиента SQL Server. Этот тип ожидания не используется для синхронизации. Он указывает на длительность вызовов поставщика OLE DB.

ONDEMAND_TASK_QUEUE

Имеет место, когда фоновая задача ожидает запросов системных задач с высоким приоритетом. Длительное время ожидания указывает, что к процессу не было высокоприоритетных запросов, и причины для беспокойства нет.

PAGEIOLATCH_DT

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме удаления. Длительное время ожидания может указывать на проблемы с дисковой подсистемой.

PAGEIOLATCH_EX

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в исключительном режиме. Длительное время ожидания может указывать на проблемы с дисковой подсистемой.

PAGEIOLATCH_KP

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме удержания. Длительное время ожидания может указывать на проблемы с дисковой подсистемой.

PAGEIOLATCH_NL

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

PAGEIOLATCH_SH

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме общего доступа. Длительное время ожидания может указывать на проблемы с дисковой подсистемой.

PAGEIOLATCH_UP

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме обновления. Длительное время ожидания может указывать на проблемы с дисковой подсистемой.

PAGELATCH_DT

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося не в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме удаления.

PAGELATCH_EX

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося не в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в исключительном режиме.

PAGELATCH_KP

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося не в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме удержания.

PAGELATCH_NL

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

PAGELATCH_SH

Имеет место, когда задача ожидает кратковременной блокировки буфера, находящегося не в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме общего доступа.

PAGELATCH_UP

Имеет место, когда задача ожидает кратковременной блокировки буфера, не находящегося в состоянии запроса ввода-вывода. Запрос на кратковременную блокировку производится в режиме обновления.

PARALLEL_BACKUP_QUEUE

Имеет место при сериализации вывода инструкции RESTORE HEADERONLY, RESTORE FILELISTONLY или RESTORE LABELONLY.

PREEMPTIVE_ABR

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

PREEMPTIVE_AUDIT_ACCESS_EVENTLOG

Происходит, если планировщик операционной системы SQLOS SQL Server переключается в режим с вытеснением, чтобы записать событие аудита в журнал событий Windows.

PREEMPTIVE_AUDIT_ACCESS_SECLOG

Происходит, если планировщик SQLOS переключается в режим с вытеснением, чтобы записать событие аудита в журнал безопасности Windows.

PREEMPTIVE_CLOSEBACKUPMEDIA

Происходит, если планировщик SQLOS переключается в режим с вытеснением, чтобы закрыть носители резервной копии.

PREEMPTIVE_CLOSEBACKUPTAPE

Происходит, если планировщик SQLOS переключается в режим с вытеснением, чтобы закрыть устройство резервного копирования на магнитной ленте.

PREEMPTIVE_CLOSEBACKUPVDIDEVICE

Происходит, если планировщик SQLOS переключается в режим с вытеснением, чтобы закрыть виртуальное устройство резервного копирования.

PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL

Происходит, если планировщик SQLOS переключается в режим с вытеснением, чтобы выполнить операции отказоустойчивого кластера Windows.

PREEMPTIVE_COM_COCREATEINSTANCE

Происходит, если планировщик SQLOS переключается в режим с вытеснением, чтобы создать COM-объект.

PREEMPTIVE_SOSTESTING

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

PREEMPTIVE_STRESSDRIVER

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

PREEMPTIVE_TESTING

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

PREEMPTIVE_XETESTING

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

PRINT_ROLLBACK_PROGRESS

Применяется при ожидании завершения пользовательских процессов в базе данных, измененной с помощью заключительного предложения ALTER DATABASE. Дополнительные сведения см. в разделе ALTER DATABASE (Transact-SQL).

QPJOB_KILL

Указывает, что асинхронное автоматическое обновление статистики было отменено с помощью вызова команды KILL во время запуска на выполнение. Завершающий поток приостанавливается и начинает прослушивание команд KILL для своего запуска. Нормальное значение составляет менее 1 секунды.

QPJOB_WAITFOR_ABORT

Указывает, что асинхронное автоматическое обновление статистики было отменено с помощью вызова команды KILL во время выполнения. Обновление в данный момент завершено, но приостановлено до выполнения координации сообщений завершающих потоков. Это обычное, но редкое состояние, которое должно длиться очень короткое время. Нормальное значение составляет менее 1 секунды.

QRY_MEM_GRANT_INFO_MUTEX

Имеет место, когда средство управления памятью при выполнении запросов пытается управлять доступом к статичному списку предоставлений памяти. В этом списке содержатся сведения о текущей предоставленной памяти и ожидающих запросах на ее выделение. Данное состояние является стандартным при управлении доступом. Его ожидание не должно длиться долго. Если мьютекс не будет освобожден, все новые запросы, использующие память, перестанут отвечать.

QUERY_ERRHDL_SERVICE_DONE

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

QUERY_EXECUTION_INDEX_SORT_EVENT_OPEN

Имеет место в определенных случаях, когда параллельно выполняется создание индекса вне сети, а различные выполняющие сортировку исполнители синхронизируют доступ к файлам сортировки.

QUERY_NOTIFICATION_MGR_MUTEX

Имеет место в процессе синхронизации очереди сборки мусора в диспетчере уведомлений о запросах.

QUERY_NOTIFICATION_SUBSCRIPTION_MUTEX

Имеет место в процессе синхронизации состояния транзакций в уведомлениях о запросах.

QUERY_NOTIFICATION_TABLE_MGR_MUTEX

Имеет место в процессе внутренней синхронизации диспетчера уведомлений о запросах.

QUERY_NOTIFICATION_UNITTEST_MUTEX

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

QUERY_OPTIMIZER_PRINT_MUTEX

Имеет место в процессе синхронизации диагностического выхода оптимизатора запросов. Этот тип ожидания имеет место только в случае, если были включены настройки диагностики под руководством службы поддержки продуктов Microsoft.

QUERY_TRACEOUT

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

QUERY_WAIT_ERRHDL_SERVICE

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

RECOVER_CHANGEDB

Имеет место в процессе синхронизации состояния базы данных в режиме «горячего» резервирования.

REPL_CACHE_ACCESS

Имеет место в процессе синхронизации кэша статей репликации. В процессе таких ожиданий средство чтения журнала репликаций простаивает, а DDL-инструкции к опубликованной таблице блокируются.

REPL_SCHEMA_ACCESS

Имеет место в процессе синхронизации данных о версии схемы репликации. Это состояние имеет место в случаях, когда DDL-инструкции выполняются над реплицируемым объектом, а средство чтения журнала создает или использует схему с управлением версиями на основе вхождения DDL.

REPLICA_WRITES

Имеет место при ожидании задачей завершения записи страниц в моментальные снимки базы данных или реплики DBCC.

REQUEST_DISPENSER_PAUSE

Имеет место при ожидании задачей завершения всех текущих операций ввода-вывода, чтобы ввод-вывод в файл можно было приостановить для выполнения резервного копирования моментального снимка.

REQUEST_FOR_DEADLOCK_SEARCH

Имеет место в случае, когда монитор взаимоблокировок ожидает запуска следующего поиска взаимоблокировки. Это ожидаемое состояние между выявлениями взаимоблокировок, и длительное общее время ожидания этого ресурса не указывает на проблему.

RESMGR_THROTTLED

Имеет место, когда новый запрос поступает и повторяется в соответствии со значением параметра GROUP_MAX_REQUESTS.

RESOURCE_QUEUE

Имеет место в процессе синхронизации различных внутренних очередей ресурсов.

RESOURCE_SEMAPHORE

Имеет место в случае, когда запрос памяти из очереди не может быть выполнен немедленно из-за других параллельных запросов. Высокие значения ожиданий и времени ожидания могут указывать на чрезмерное количество параллельных запросов или чрезмерные объемы запрашиваемой памяти.

RESOURCE_SEMAPHORE_MUTEX

Имеет место в случае, когда запрос ожидает выполнения запроса на резервирование потока. Также имеет место при запросах на компиляцию и выделение памяти в процессе синхронизации.

RESOURCE_SEMAPHORE_QUERY_COMPILE

Имеет место в случае, когда количество параллельных компиляций запросов достигает предела повтора. Высокие значения ожиданий и времени ожидания могут указывать на чрезмерное количество компиляций, повторных компиляций или некэшируемых планов.

RESOURCE_SEMAPHORE_SMALL_QUERY

Имеет место в случае, когда небольшой запрос не может быть выполнен немедленно из-за других параллельных запросов. Время ожидания не должно превышать нескольких секунд, так как при невозможности выделения запрошенной памяти в течение нескольких секунд сервер передает запрос в главный пул памяти для запросов. Высокие значения ожиданий могут указывать на чрезмерное количество параллельных небольших запросов, в то время как главный пул памяти заблокирован ожидающими запросами.

SEC_DROP_TEMP_KEY

Имеет место после неудачной попытки удаления временного ключа безопасности перед повторной попыткой.

SECURITY_MUTEX

Имеет место при ожидании мьютексов, контролирующих доступ к глобальному списку поставщиков служб шифрования расширенного управления ключами и списку сеансов расширенного управления ключами, ограниченному областью сеанса.

SEQUENTIAL_GUID

Имеет место при получении нового последовательного значения идентификатора GUID.

SERVER_IDLE_CHECK

Имеет место в процессе синхронизации состояния простоя экземпляра SQL Server, в то время как монитор ресурсов пытается объявить экземпляр SQL Server простаивающим или пытающимся пробудиться.

SHUTDOWN

Имеет место, когда инструкция завершения работы ожидает закрытия активных соединений.

SLEEP_BPOOL_FLUSH

Имеет место при повторе контрольной точкой выпуска новых операций ввода-вывода во избежание переполнения дисковой подсистемы.

SLEEP_DBSTARTUP

Имеет место в процессе запуска базы данных при ожидании восстановления всех баз данных.

SLEEP_DCOMSTARTUP

Имеет место однократно в большинстве случаев в процессе запуска экземпляра SQL Server при ожидании завершения инициализации DCOM.

SLEEP_MSDBSTARTUP

Имеет место при ожидании SQL Trace запуска базы данных msdb.

SLEEP_SYSTEMTASK

Имеет место при запуске фоновой задачи во время ожидания запуска базы данных tempdb.

SLEEP_TASK

Имеет место в случае, когда задача находится в неактивном состоянии во время ожидания универсального события.

SLEEP_TEMPDBSTARTUP

Имеет место при ожидании задачей запуска базы данных tempdb.

SNI_CRITICAL_SECTION

Имеет место в процессе внутренней синхронизации в сетевых компонентах SQL Server.

SNI_HTTP_WAITFOR_0_DISCON

Имеет место при завершении работы SQL Server во время ожидания завершения имеющихся HTTP-соединений.

SNI_LISTENER_ACCESS

Имеет место при ожидании обновления изменения состояния узлов доступа к неоднородной памяти (NUMA). Доступ к изменению состояния сериализован.

SNI_TASK_COMPLETION

Имеет место при ожидании завершения всех задач во время изменения состояния узла NUMA.

SOAP_READ

Имеет место при ожидании завершения операции чтения HTTP-данных из сети.

SOAP_WRITE

Имеет место при ожидании завершения операции записи HTTP-данных по сети.

SOS_CALLBACK_REMOVAL

Имеет место при выполнении синхронизации списка обратных вызовов с целью удаления обратного вызова. Изменение этого счетчика после выполнения инициализации сервера не ожидается.

SOS_DISPATCHER_MUTEX

Имеет место при выполнении внутренней синхронизации пула диспетчеров. Это также относится и к настройке пула.

SOS_LOCALALLOCATORLIST

Имеет место в процессе внутренней синхронизации в диспетчере памяти SQL Server.

SOS_MEMORY_USAGE_ADJUSTMENT

Имеет место при распределении памяти между пулами.

SOS_OBJECT_STORE_DESTROY_MUTEX

Имеет место в процессе внутренней синхронизации в пулах памяти во время удаления объектов из пула.

SOS_PROCESS_AFFINITY_MUTEX

Имеет место в процессе синхронизации доступа для обработки настроек схожести.

SOS_RESERVEDMEMBLOCKLIST

Имеет место в процессе внутренней синхронизации в диспетчере памяти SQL Server.

SOS_SCHEDULER_YIELD

Имеет место, когда задача добровольно отказывается от выполнения планировщиком в пользу других задач. В течение этого ожидания задача ожидает обновления своего такта.

SOS_SMALL_PAGE_ALLOC

Имеет место при выделении и освобождении памяти, управляемой некоторыми объектами памяти.

SOS_STACKSTORE_INIT_MUTEX

Имеет место в процессе синхронизации внутренней инициализации хранилища.

SOS_SYNC_TASK_ENQUEUE_EVENT

Имеет место при запуске задачи в синхронном режиме. Большинство задач в SQL Server запускаются в асинхронном режиме, при котором управление возвращается процессу, запустившему задачу, немедленно после помещения запроса на задачу в рабочую очередь.

SOS_VIRTUALMEMORY_LOW

Имеет место при выделении памяти в случае ожидания освобождения виртуальной памяти менеджером ресурсов.

SOSHOST_EVENT

Имеет место в случае, когда включенный компонент, например среда CLR, ожидает объекта синхронизации событий SQL Server.

SOSHOST_INTERNAL

Имеет место в процессе синхронизации обратных вызовов диспетчера памяти, используемых включенными компонентами, например средой CLR.

SOSHOST_MUTEX

Имеет место в случае, когда включенный компонент, например среда CLR, ожидает объекта синхронизации объектов взаимных исключений SQL Server.

SOSHOST_RWLOCK

Имеет место в случае, когда включенный компонент, например среда CLR, ожидает объекта синхронизации чтения-записи SQL Server.

SOSHOST_SEMAPHORE

Имеет место в случае, когда включенный компонент, например среда CLR, ожидает объекта синхронизации семафоров SQL Server.

SOSHOST_SLEEP

Имеет место в случае, когда включенная задача находится в неактивном состоянии во время ожидания универсального события. Включенные задачи используются включенными компонентами, например средой CLR.

SOSHOST_TRACELOCK

Имеет место в процессе синхронизации доступа к потокам трассировки.

SOSHOST_WAITFORDONE

Имеет место в случае, когда включенный компонент, например среда CLR, ожидает завершения выполнения задачи.

SQLCLR_APPDOMAIN

Имеет место в случае, когда среда CLR ожидает завершения запуска домена приложений.

SQLCLR_ASSEMBLY

Имеет место при ожидании доступа к списку загруженных сборок в домене приложений.

SQLCLR_DEADLOCK_DETECTION

Имеет место в случае, когда среда CLR ожидает завершения выявления взаимоблокировок.

SQLCLR_QUANTUM_PUNISHMENT

Имеет место в случае повтора задачи CLR из-за превышения такта на выполнение. Повтор производится с целью снижения влияния задачи, интенсивно использующей ресурсы, на другие задачи.

SQLSORT_NORMMUTEX

Имеет место в процессе внутренней синхронизации во время инициализации внутренних структур сортировки.

SQLSORT_SORTMUTEX

Имеет место в процессе внутренней синхронизации во время инициализации внутренних структур сортировки.

SQLTRACE_BUFFER_FLUSH

Имеет место, когда задача ожидает сохранения фоновой задачей буферов трассировки на диск каждые четыре секунды.

SQLTRACE_LOCK

Имеет место в процессе синхронизации буферов трассировки во время трассировки файлов.

SQLTRACE_SHUTDOWN

Имеет место в случае, когда операция завершения трассировки ожидает завершения имеющихся событий трассировки.

SQLTRACE_WAIT_ENTRIES

Имеет место в случае, когда очередь событий SQL Trace ожидает поступления пакетов в очередь.

SRVPROC_SHUTDOWN

Имеет место в случае, когда процесс завершения работы ожидает освобождения внутренних ресурсов для корректного завершения работы.

TEMPOBJ

Имеет место при синхронизации удалений временных объектов. Этот тип ожидания является редким и имеет место только в случае, если задача запросила монопольный доступ на удаление таблиц temp.

THREADPOOL

Имеет место, когда задача ожидает запуска исполнителем. Это ожидание может указывать на недостаточное число исполнителей или на то, что выполнение пакетов занимает слишком много времени, поэтому число доступных исполнителей уменьшилось из-за необходимости обработки других пакетов.

TIMEPRIV_TIMEPERIOD

Имеет место при выполнении внутренней синхронизации таймера расширенных событий.

TRACEWRITE

Имеет место в случае, когда поставщик трассировки наборов строк SQL Trace ожидает либо свободного буфера, либо буфера с событиями для обработки.

TRAN_MARKLATCH_DT

Имеет место при ожидании кратковременной блокировки режима удаления для кратковременной блокировки метки транзакции. Кратковременные блокировки меток транзакций используются для синхронизации фиксаций с помеченными транзакциями.

TRAN_MARKLATCH_EX

Имеет место при ожидании кратковременной блокировки монопольного режима для помеченной транзакции. Кратковременные блокировки меток транзакций используются для синхронизации фиксаций с помеченными транзакциями.

TRAN_MARKLATCH_KP

Имеет место при ожидании кратковременной блокировки режима удержания для помеченной транзакции. Кратковременные блокировки меток транзакций используются для синхронизации фиксаций с помеченными транзакциями.

TRAN_MARKLATCH_NL

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

TRAN_MARKLATCH_SH

Имеет место при ожидании кратковременной блокировки общего режима для помеченной транзакции. Кратковременные блокировки меток транзакций используются для синхронизации фиксаций с помеченными транзакциями.

TRAN_MARKLATCH_UP

Имеет место при ожидании кратковременной блокировки режима обновления для помеченной транзакции. Кратковременные блокировки меток транзакций используются для синхронизации фиксаций с помеченными транзакциями.

TRANSACTION_MUTEX

Имеет место в процессе синхронизации доступа к транзакции из нескольких пакетов.

UTIL_PAGE_ALLOC

Имеет место в случае, когда операции просмотра журналов транзакций ожидают освобождения памяти в условиях чрезмерной загрузки.

VIA_ACCEPT

Имеет место при завершении соединения с поставщиком VIA во время запуска.

VIEW_DEFINITION_MUTEX

Имеет место в процессе синхронизации доступа к кэшированным определениям представлений.

WAIT_FOR_RESULTS

Имеет место при ожидании срабатывания триггера уведомления запроса.

WAITFOR

Имеет место как результат выполнения инструкции WAITFOR Transact-SQL. Длительность ожидания определяется параметрами инструкции. Это ожидание инициируется пользователем.

WAITFOR_TASKSHUTDOWN

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

WAITSTAT_MUTEX

Имеет место в процессе синхронизации доступа к коллекции статистик, используемой для заполнения представления sys.dm_os_wait_stats.

WCC

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

WORKTBL_DROP

Имеет место в случае приостановки перед повторной попыткой, после неудачной попытки удаления рабочей таблицы.

WRITE_COMPLETION

Имеет место при выполнении операции записи.

WRITELOG

Имеет место при ожидании завершения записи журнала. Обычно запись журнала вызывается такими операциями, как контрольные точки и фиксации транзакций.

XACT_OWN_TRANSACTION

Имеет место при ожидании получения прав на владение транзакцией.

XACT_RECLAIM_SESSION

Имеет место при ожидании отказа текущего владельца сеанса от владения им.

XACTLOCKINFO

Имеет место в процессе синхронизации доступа к списку блокировок для транзакции. В дополнение к самой транзакции к списку имеют доступ такие операции, как выявление взаимоблокировок и миграция блокировок во время разбиения страниц.

XACTWORKSPACE_MUTEX

Имеет место в процессе синхронизации исключений из транзакции, а также синхронизации числа блокировок базы данных между прикрепленными участниками транзакции.

XE_BUFFERMGR_ALLPROCESSED_EVENT

Происходит, если буферы сеанса расширенных событий записываются в целевые объекты. Это происходит в фоновом потоке.

XE_BUFFERMGR_FREEBUF_EVENT

Происходит, если верно любое из следующих условий.

  • Сеанс расширенных событий настроен так, чтобы не происходила потеря ни одного события, и все буферы в сеансе в настоящее время полны. Это может указывать, что буферы для сеанса расширенных событий слишком малы или должны быть секционированы.

  • В ходе операций аудита возникают задержки. Это может свидетельствовать о том, что диск, на который записываются результаты операций аудита, является узким местом.

XE_DISPATCHER_CONFIG_SESSION_LIST

Происходит при запуске или остановке сеанса расширенных событий, в котором используются асинхронные целевые объекты. Этот случай ожидания указывает на то, что имеет место одно из следующих условий.

  • Сеанс расширенных событий регистрируется с пулом фонового потока.

  • Пул фонового потока вычисляет необходимое количество потоков на основе текущей нагрузки.

XE_DISPATCHER_JOIN

Происходит при завершении фонового потока, который используется для сеансов расширенных событий.

XE_DISPATCHER_WAIT

Происходит, если фоновый поток, который используется для сеансов расширенных событий, ожидает обработки буферов событий.

XE_MODULEMGR_SYNC

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

XE_OLS_LOCK

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

XE_PACKAGE_LOCK_BACKOFF

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.