Compartilhar via


sys.dm_os_wait_stats (Transact-SQL)

Retorna informações sobre todas as esperas encontradas por threads executados. É possível usar essa exibição agregada para diagnosticar problemas de desempenho com o SQL Server e também com consultas e lotes específicos.

Nome de coluna

Tipo de dados

Descrição

wait_type

nvarchar(60)

Nome do tipo de espera.

waiting_tasks_count

bigint

Número de esperas nesse tipo de espera. O contador é incrementado no início de cada espera.

wait_time_ms

bigint

Tempo de espera total para este tipo de espera em milissegundos. Esse tempo é inclusivo de signal_wait_time_ms.

max_wait_time_ms

bigint

Tempo de espera máximo neste tipo de espera.

signal_wait_time_ms

bigint

Diferença entre a hora em que o thread de espera foi sinalizado e quando ele começou a ser executado.

Permissões

Requer a permissão VIEW SERVER STATE no servidor.

Comentários

Tipos de esperas

  • Esperas de recurso
    As esperas de recurso ocorrem quando um trabalhador solicita acesso a um recurso que não está disponível porque esse recurso está sendo usado por outro trabalhador ou ainda não foi disponibilizado. Exemplos de esperas de recurso são bloqueios, travas, rede e esperas de E/S de disco. Bloqueio e trava são esperas em objetos de sincronização

  • Esperas de fila
    As esperas de fila acontecem quando um trabalhador está inativo, aguardando atribuição de trabalho. As esperas de fila são geralmente vistas com tarefas em segundo plano de sistema, como monitor de deadlocks e tarefas de limpeza de registro excluídas. Essas tarefas aguardarão as solicitações de trabalho serem colocadas em uma fila de trabalho. Esperas de fila também poderão ficar periodicamente ativas mesmo se nenhum pacote novo tiver sido colocado na fila.

  • Esperas externas
    As esperas externas ocorrem quando um trabalhador SQL Server está aguardando um evento externo, como uma chamada de procedimento armazenado estendido ou consulta de servidor vinculada, terminar Quando você diagnostica problemas de bloqueio, lembre-se de que as esperas externas nem sempre indicam que o trabalhador está ocioso, pois ele pode estar executando ativamente algum código externo.

sys.dm_os_wait_stats mostra a hora das esperas concluídas. Essa exibição de gerenciamento dinâmico não mostra esperas atuais.

Não será considerado que um thread de trabalho SQL Server esteja sendo esperado se qualquer um dos seguintes for verdadeiro:

  • Um recurso fica disponível.

  • Uma fila não está vazia.

  • Um processo externo termina.

Embora o thread já não esteja mais aguardando, ele não precisa iniciar a execução imediatamente. Isso ocorre porque esse thread é colocado primeiro na fila de trabalhadores executáveis e deve aguardar a execução de um quantum no agendador.

Em SQL Server, os contadores de tempo de espera são valores bigint e, por esse motivo, não são tão suscetíveis à substituição de contador quanto os contadores equivalentes em versões anteriores de SQL Server.

Tipos específicos de horas de espera durante execução de consulta podem indicar afunilamentos ou pontos de pausa dentro da consulta. Da mesma forma, os tempos de espera altos ou as contagens de espera em todo o servidor podem indicar afunilamentos nas interações de consulta de interação na instância do servidor. Por exemplo, as esperas de bloqueio indicam a contenção de dados por consultas; as esperas de trava de ES de página indicam tempos de resposta de ES lentos; as esperas de atualização de trava de página indicam layout de arquivo incorreto.

Os conteúdos desta exibição de gerenciamento dinâmico podem ser reajustados executando o seguinte comando:

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

Esse comando redefine todos os contadores como 0.

ObservaçãoObservação

Essas estatísticas não são persistidas em reinicializações SQL Server e todos os dados são cumulativos desde a última vez em que as estatísticas foram redefinidas ou o servidor foi iniciado.

A tabela a seguir lista os tipos de espera encontrados por tarefas.

Tipo de espera

Descrição

ABR

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

ASSEMBLY_LOAD

Ocorre durante o acesso exclusivo ao carregamento do assembly.

ASYNC_DISKPOOL_LOCK

Ocorre quando há uma tentativa de sincronizar threads paralelos que estão executando tarefas, como criação ou inicialização de um arquivo.

ASYNC_IO_COMPLETION

Ocorre quando uma tarefa estiver esperando a conclusão de E/Ss.

ASYNC_NETWORK_IO

Ocorre em gravações de rede quando a tarefa é bloqueada por trás da rede. Verifique se o cliente está processando dados do servidor.

AUDIT_GROUPCACHE_LOCK

Ocorre quando há uma espera em um bloqueio que controla o acesso a um cache especial. O cache contém informações sobre as auditorias que estão sendo usadas para auditar cada grupo de ações de auditoria.

AUDIT_LOGINCACHE_LOCK

Ocorre quando há uma espera em um bloqueio que controla o acesso a um cache especial. O cache contém informações sobre as auditorias que estão sendo usadas para auditar grupos de ações de auditoria de logon.

AUDIT_ON_DEMAND_TARGET_LOCK

Ocorre quando há uma espera em um bloqueio que é usado para garantir a inicialização única dos destinos do Evento Estendido relacionados à auditoria.

AUDIT_XE_SESSION_MGR

Ocorre quando há uma espera em um bloqueio que é usado para sincronizar o início e a interrupção de sessões de Eventos Estendidos relacionadas à auditoria.

BACKUP

Ocorre quando uma tarefa é bloqueada como parte do processamento do backup.

BACKUP_OPERATOR

Ocorre quando uma tarefa está aguardando uma montagem de fita. Para exibir o status da fita, consulte sys.dm_io_backup_tapes. Se uma operação de montagem não estiver pendente, esse tipo de espera poderá indicar um problema de hardware na unidade de fita.

BACKUPBUFFER

Ocorre quando uma tarefa de backup estiver aguardando dados ou um buffer para armazenar dados nele. Esse tipo não é comum, exceto quando uma tarefa estiver aguardando uma montagem de fita.

BACKUPIO

Ocorre quando uma tarefa de backup estiver aguardando dados ou um buffer para armazenar dados nele. Esse tipo não é comum, exceto quando uma tarefa estiver aguardando uma montagem de fita.

BACKUPTHREAD

Ocorre quando uma tarefa estiver esperando a conclusão da tarefa de backup. Os tempos de espera podem ser longos, de alguns minutos até várias horas. Se a tarefa sendo aguardada estiver em um processo de E/S, esse tipo não indicará um problema.

BAD_PAGE_PROCESS

Ocorre quando o registrador de página suspeita em segundo plano estiver tentando evitar a execução mais que cada cinco segundos. Páginas suspeitas em excesso causam a execução freqüente do registrador.

BROKER_CONNECTION_RECEIVE_TASK

Ocorre ao aguardar acesso para recebimento de uma mensagem em um ponto de extremidade de conexão. O acesso de recebimento para o ponto de extremidade é serializado.

Cada ponto de extremidade de conexão do Service Broker (Espelhamento de Banco de Dados) possui uma lista de buffers que recebem dados da rede. Há dois threads que processam a lista. Um thread posta buffers para receber dados e outro thread processa os buffers após receberem os dados. Especificamente, esse tipo de espera ocorre quando os threads tentam acessar a lista para adicionar ou remover buffers.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • waiting_tasks_count e wait_time_ms devem ser proporcionais à quantidade de dados de rede recebidos por todos os pontos de extremidade de conexão Service Broker (e Espelhamento de Banco de Dados). 

  • avg_wait_time_ms deve ser um valor muito pequeno.

BROKER_ENDPOINT_STATE_MUTEX

Ocorre quando há uma contenção para acessar o estado de um ponto de extremidade de conexão Service Broker ou Espelhamento de Banco de Dados. O acesso ao estado das alterações é serializado.

Especificamente, esse tipo de espera ocorre sob as seguintes condições:

  • Sempre que há uma alteração de estado para um ponto de extremidade de conexão Service Broker ou Espelhamento de Banco de Dados durante a fase de estabelecimento da conexão (ou "handshake"). 

  • Sempre que a DMV (Exibição de Gerenciamento Dinâmico) sys.dm_broker_connections ou sys.dm_db_mirroring_connections é consultada para serializar acesso a cada estado de handshake da conexão. Saiba que nesse caso, o tipo de espera ocorre para cada ponto de extremidade de conexão.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • avg_wait_time_ms deve ser muito pequeno.

  • Os valores wait_time_ms e waiting_tasks_count devem ser proporcionais ao número de vezes que Service Broker ou o Espelhamento de Banco de Dados estabelece uma conexão com outra instância do SQL Server e o número de vezes que a DMV sys.dm_broker_connections ou sys.dm_db_mirroring_connections é consultada.

  • Se os valores wait_time_ms e waiting_tasks_count aumentarem rapidamente, isso poderia indicar estabelecimento e rompimento de conexão muito freqüentes. Como o Service Broker transporta conexões rompidas após aproximadamente 90 segundos de inatividade, esses calores podem aumentar se os aplicativos usarem o Service Broker uma vez aproximadamente a cada 90 segundos.

BROKER_EVENTHANDLER

Ocorre quando uma tarefa está aguardando os seguintes itens do manipulador de eventos principal do Service Broker:

  • inicialização ou desligamento da instância

  • eventos do timer de diálogo (como tempos limites de diálogo)

  • tempos limites de rotas espelhadas

O tipo de espera deve ocorrer muito brevemente.

Cada instância do SQL Server possui um thread do manipulador de eventos principal para processamento de inicialização, desligamento e eventos do timer do Service Broker. Esse thread sempre existe e está aguardando ou processando esses eventos.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • wait_time_ms deve ser aproximadamente igual ao intervalo desde que a instância do SQL Server foi iniciada.

  • waiting_tasks_count indica o número de vezes que o manipulador de eventos principal teve que aguardar, pois não havia eventos a serem processados.

Nenhum desses campos indica um problema de desempenho.

Se o Service Broker não estiver sendo usado (diretamente, através do Database Mail ou notificação de eventos), o seguinte deverá ser exibido:

  • max_wait_time_ms e wait_time_ms serão aproximadamente iguais.

  • waiting_tasks_count será um valor muito pequeno.

BROKER_INIT

Ocorre ao inicializar Service Broker em cada banco de dados ativo. Isso deve ocorrer raramente.

Esse tipo de espera ocorrerá sempre que o Service Broker não puder inicializar os gerenciadores de agentes internos para qualquer banco de dados. O Service Broker aguardará aproximadamente 1 segundo antes de executar uma nova tentativa para o mesmo banco de dados.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • waiting_tasks_count é o número de vezes que o Service Broker falhou ao inicializar o agente em qualquer banco de dados. Valores altos ou em elevação de waiting_tasks_count indicam um problema com a instância do SQL Server.

  • wait_time_ms deve ser proporcional a waiting_tasks_count.

  • avg_wait_time_ms deve ser aproximadamente 1 segundo.

BROKER_MASTERSTART

Ocorre quando uma tarefa está aguardando a inicialização do manipulador de eventos principal do Service Broker. Isso ocorre muito brevemente durante a inicialização da instância, quando o Service Broker aguarda a inicialização do banco de dados master.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • waiting_tasks_count deve ser 1.

  • wait_time_ms deve ser muito pequeno.

BROKER_RECEIVE_WAITFOR

Ocorre quando RECEIVE WAITFOR está aguardando. Isso será comum se nenhuma mensagem estiver pronta para ser recebida.

Esse tipo de espera ocorre uma vez por instrução WAITFOR RECEIVE Transact-SQL, onde a execução da instrução aguarda o recebimento de mensagens na fila do usuário.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • waiting_tasks_count é igual ao número de vezes que a instrução WAITFOR RECEIVE foi executada.

  • wait_time_ms deve ser o tempo total que a execução das instruções teve que aguardar o recebimento de mensagens ou o tempo limite de WAITFOR para cada instrução WAITFOR RECEIVE.

Se avg_wait_time_ms for muito maior do que o esperado, verifique possíveis problemas no log de erros e nos eventos do SQL Server Profiler em ambas as instâncias do servidor de destino e iniciador.

BROKER_REGISTERALLENDPOINTS

Ocorre durante a inicialização de um ponto de extremidade de conexão do Espelhamento de Banco de Dados ou Service Broker. Esse tipo de espera deverá ocorrer muito brevemente durante a inicialização da instância, quando o Service Broker aguardará o registro de todos os tipos de pontos de extremidade.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • waiting_tasks_count deve ser 1.

  • wait_time_ms deve ser muito pequeno.

BROKER_SERVICE

Ocorre quando a lista de destino de próximo salto do Service Broker, associada a um par de instâncias agente/serviço de destino, é atualizada ou priorizada novamente devido à adição ou remoção de um diálogo para o par de instâncias. 

Service Broker envia mensagens para esses destinos de próximo salto na ordem de suas prioridades. Portanto, o acesso à lista de destino e suas alterações de prioridade efetivas é serializado.

Quando você interpretar os valores para esse tipo de espera, use as seguintes diretrizes:

  • waiting_tasks_count e wait_time_ms indicam o número de vezes que o Service Broker teve que serializar o acesso a essas estruturas internas.

  • avg_wait_time_ms deve ser muito pequeno.

BROKER_SHUTDOWN

Ocorre quando há um desligamento planejado do Service Broker. Esse tipo de espera deverá ocorrer muito brevemente, se ocorrer.

waiting_tasks_count e wait_time_ms devem ambos ser 0 a menos que o desligamento da instância já tenha sido iniciado. Durante o desligamento da instância, o Service Broker aguarda alguns segundos até que seu manipulador de eventos principal e todos os pontos de extremidade de conexão sejam desligados.

BROKER_TASK_STOP

Ocorre quando um dos manipuladores de tarefas de fila do Service Broker é interrompido porque não há tarefas internas. O manipulador de tarefas aguarda até 10 segundos antes de ser destruído, caso ele tenha que ser reiniciado para executar uma tarefa.

O Service Broker possui vários manipuladores de tarefas que são usados para executar tarefas internas relacionadas à transmissão de mensagens, operações assíncronas de rede e para o processamento de mensagens recebidas.

Em um cenário de uso intenso, os valores para waiting_tasks_count e wait_time_ms devem ser pequenos.

A cada 5 segundos, o Service Broker agenda uma tarefa de limpeza interna. Essa tarefa não faz muito quando o Service Broker não está sendo usado. Entretanto, ela faz com que um dos manipuladores de tarefa acorde, reinicie, execute a tarefa e inicie a espera. Portanto, se o Service Broker não estiver sendo usado, os seguintes valores deverão ser exibidos:

  • waiting_tasks_count e wait_time_ms devem continuar aumentando, de forma proporcional ao intervalo de tempo desde que a instância do SQL Server foi iniciada. 

  • avg_wait_time_ms deve fechar em 5 segundos.

BROKER_TO_FLUSH

Ocorre quando o liberador lento do Service Broker libera os objetos de transmissão na memória para uma tabela de trabalho. Um objeto de transmissão é um objeto em memória que gerencia e registra o estado de transmissão da mensagem para um diálogo.

Por motivos de desempenho, o Service Broker mantém todos os objetos de transmissão na memória e em tabelas temporárias no disco. Sempre que um objeto de transmissão é atualizado, sua liberação é agendada para uma tabela temporária em tempdb. O Service Broker usa uma tarefa de liberador lento "sempre ativa" para esse trabalho.

Se o Service Broker não estiver sendo usado, os seguintes valores deverão ser exibidos:

  • wait_time_ms e waiting_tasks_count devem ser proporcionais ao intervalo de tempo desde que a instância do SQL Server foi iniciada.

  • avg_wait_time_ms deve ser aproximadamente 1 segundo.

Quando o Service Broker estiver sob uso intenso, essas colunas terão valores baixos porque o liberador lento estará ocupado.

BROKER_TRANSMITTER

Ocorre quando os threads do transmissor do Service Broker estão aguardando que mensagens de diálogo sejam enviadas.

O transmissor agenda mensagens de vários diálogos que serão enviadas pela rede através de um ou mais pontos de extremidade de conexão. O transmissor usa dois threads dedicados para esse fim.

Valores altos de waiting_tasks_count indicam que os threads possuem trabalho intermitente. Isso não indica um problema de desempenho.

Se o Service Broker não estiver sendo usado, os seguintes valores deverão ser exibidos:

  • waiting_tasks_count deve ser 2 (para dois threads do transmissor).

  • wait_time_ms deve ser duas vezes a duração desde que a instância do SQL Server foi iniciada.

BUILTIN_HASHKEY_MUTEX

Pode ocorrer depois de inicialização da instância, enquanto as estruturas de dados internos estiverem sendo inicializadas. Não ocorrerá antes que as estruturas de dados tiverem inicializado.

CHECK_PRINT_RECORD

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

CHECKPOINT_QUEUE

Ocorre enquanto a tarefa de ponto de verificação aguarda a próxima solicitação de ponto de verificação.

CHKPT

Ocorre na inicialização de servidor para informar ao thread de ponto de verificação que ele pode iniciar.

CLEAR_DB

Ocorre durante operações que alteram o estado de um banco de dados, como abrir ou fechar um banco de dados.

CLR_AUTO_EVENT

Ocorre quando uma tarefa executa o CLR (Common Language Runtime) e aguarda o início de um determinado evento automático. Esperas longas são comuns e não indicam um problema.

CLR_CRST

Ocorre quando uma tarefa está executando o CLR e aguarda a apresentação de uma seção crítica da tarefa que está, atualmente, sendo usada por outra tarefa.

CLR_JOIN

Ocorre quando uma tarefa executa o CLR e aguarda o término de outra tarefa. Esse estado de espera quando há uma junção entre tarefas.

CLR_MANUAL_EVENT

Ocorre quando uma tarefa está executando o CLR atualmente e está aguardando um evento manual específico a ser iniciado.

CLR_MEMORY_SPY

Ocorre durante uma espera na aquisição de bloqueio para uma estrutura de dados que é usada para registrar todas as alocações de memória virtual provenientes do CLR. A estrutura de dados será bloqueada para manter sua integridade se houver acesso paralelo.

CLR_MONITOR

Ocorre quando uma tarefa está executando o CLR atualmente e aguardando para obter um bloqueio no monitor.

CLR_RWLOCK_READER

Ocorre quando uma tarefa executa o CLR e aguarda um bloqueio de leitor.

CLR_RWLOCK_WRITER

Ocorre quando uma tarefa executa o CLR e aguarda um bloqueio de gravador.

CLR_SEMAPHORE

Ocorre quando uma tarefa executa o CLR e aguarda um semáforo.

CLR_TASK_START

Ocorre enquanto aguarda a inicialização de uma tarefa de CLR ser concluída.

CLRHOST_STATE_ACCESS

Ocorre quando há uma espera para adquirir acesso exclusivo às estruturas de dados de hospedagem de CLR. Esse tipo de espera ocorre ao configurar ou subdividir o tempo de execução do CLR.

CMEMTHREAD

Ocorre quando uma tarefa está aguardando um objeto de memória protegido por thread. O tempo de espera pode aumentar quando há contenção provocada por várias tarefas tentando alocar memória do mesmo objeto de memória.

CXPACKET

Ocorre ao tentar sincronizar o iterador de troca do processador de consulta. A redução do grau de paralelismo poderá ser considerada se a contenção nesse tipo de espera se tornar um problema.

CXROWSET_SYNC

Ocorre durante um exame de intervalo paralelo.

DAC_INIT

Ocorre enquanto a conexão de administrador dedicada estiver inicializando.

DBMIRROR_DBM_EVENT

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

DBMIRROR_DBM_MUTEX

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

DBMIRROR_EVENTS_QUEUE

Ocorre quando o espelhamento de banco de dados aguarda o processamento de eventos.

DBMIRROR_SEND

Ocorre quando uma tarefa aguarda que os registros acumulados de comunicações na camada de rede a serem apagados possam enviar mensagens. Indica que a camada de comunicações está começando a ser sobrecarregada e a afetar a taxa de transferência de dados de espelhamento de banco de dados.

DBMIRROR_WORKER_QUEUE

Indica que a tarefa de trabalhador de espelhamento de banco de dados está aguardando mais trabalho.

DBMIRRORING_CMD

Ocorre quando uma tarefa aguarda a liberação dos registros para o disco. Estima-se que esse estado de espera seja mantido por longos períodos de tempo.

DEADLOCK_ENUM_MUTEX

Ocorre quando o monitor de deadlock e sys.dm_os_waiting_tasks tentam verificar se o SQL Server não está executando várias pesquisas de deadlock ao mesmo tempo.

DEADLOCK_TASK_SEARCH

Um grande tempo de espera nesse recurso indica que o servidor está executando consultas sobre sys.dm_os_waiting_tasks e que essas consultas estão impedindo que o monitor de deadlock pesquise deadlocks. Esse tipo de espera é usado somente pelo monitor de deadlock. Consultas sobre sys.dm_os_waiting_tasks usam DEADLOCK_ENUM_MUTEX.

DEBUG

Ocorre durante Transact-SQL e depuração de CLR para sincronização interna.

DISABLE_VERSIONING

Ocorre quando SQL Server pesquisa a versão do gerenciador de transações para verificar se o carimbo de data e hora da versão ativa mais recente é posterior ao carimbo de data e hora quando o estado começou a mudar. Se esse for o caso, todas as transações de instantâneo iniciadas antes de a instrução ALTER DATABASE ter sido executada serão finalizadas. Esse estado de espera é usado quando SQL Server desabilita o controle de versão usando a instrução ALTER DATABASE.

DISKIO_SUSPEND

Ocorre quando uma tarefa estiver esperando para acessar um arquivo quando um backup externo está ativo. Isso é informado a cada processo de usuário de espera. Uma contagem maior que cinco por processo de usuário pode indicar que o backup externo está levando muito tempo para ser concluído.

DISPATCHER_QUEUE_SEMAPHORE

Ocorre quando um thread do pool de dispatcher está aguardando mais trabalho para processamento. Estima-se que o tempo para esse tipo de espera aumente quando o dispatcher estiver ocioso.

DLL_LOADING_MUTEX

Ocorre uma vez ao aguardar a DLL do analisador XML ser carregada.

DROPTEMP

Ocorre entre tentativas para descartar um objeto temporário caso a tentativa anterior tenha falhado. A duração da espera cresce bastante em cada tentativa de descarte com falha.

DTC

Ocorre quando uma tarefa estiver esperando um evento usado para gerenciar a transição de estado. Esse estado controla quando a recuperação das transações de Microsoft Distributed Transaction Coordinator (MS DTC) ocorre após SQL Server receber a notificação de que o serviço MS DTC se tornou indisponível.

Esse estado também descreve uma tarefa em espera quando uma confirmação de uma transação de MS DTC é iniciada por SQL Server e SQL Server aguarda a conclusão de uma confirmação de MS DTC.

DTC_ABORT_REQUEST

Ocorre em uma sessão de trabalhador de MS DTC quando a sessão estiver aguardando para obter a propriedade de uma transação de MS DTC. Depois que o MS DTC for proprietário da transação, a sessão poderá reverter a transação. Geralmente, a sessão aguardará outra sessão que está usando a transação.

DTC_RESOLVE

Ocorre quando uma tarefa de recuperação está aguardando o banco de dados master em uma transação de banco de dados cruzado de forma que a tarefa possa consultar o resultado da transação.

DTC_STATE

Ocorre quando uma tarefa está esperando um evento que protege as alterações no objeto de estado global de MS DTC. Esse estado deve ser mantido para intervalos de tempo muito curtos.

DTC_TMDOWN_REQUEST

Ocorre em uma sessão de trabalhador de MS DTC quando SQL Server recebe notificação que o serviço de MS DTC não está disponível. Primeiro, o trabalhador aguardará o processo de recuperação de MS DTC iniciar. Em seguida, o trabalhador espera para obter o resultado da transação distribuída em que o trabalhador está trabalhando. Isso pode continuar até a conexão com o serviço de MS DTC ser restabelecida.

DTC_WAITFOR_OUTCOME

Ocorre quando as tarefas de recuperação aguardam o MS DTC ficar ativo para ativar a resolução de transações preparadas.

DUMP_LOG_COORDINATOR

Ocorre quando uma tarefa principal está esperando uma subtarefa gerar dados. Em geral, esse estado não ocorre. Uma espera longa indica um bloqueio inesperado. A subtarefa deve ser investigada.

DUMPTRIGGER

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

EC

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

EE_PMOLOCK

Ocorre durante a sincronização de certos tipos de alocações de memória durante execução de instrução.

EE_SPECPROC_MAP_INIT

Ocorre durante sincronização da criação de tabela de hash de procedimento interno. Essa espera só pode acontecer durante o acesso inicial da tabela de hash depois que a instância SQL Server é iniciada.

ENABLE_VERSIONING

Ocorre quando SQL Server aguarda a finalização de todas as transações de atualização neste banco de dados, antes de declarar o banco de dados pronto para o estado permitido de isolamento de instantâneo. Esse estado é usado quando SQL Server ativa o isolamento de instantâneo usando a instrução ALTER DATABASE.

ERROR_REPORTING_MANAGER

Ocorre durante a sincronização de várias inicializações de log de erros simultâneas.

EXCHANGE

Ocorre durante a sincronização no iterador de troca de processador de consulta durante consultas paralelas.

EXECSYNC

Ocorre durante consultas paralelas durante a sincronização em processador de consulta em áreas não relacionadas ao iterador de troca. Exemplos dessas áreas são bitmaps, LOBs (objetos binários grandes) e o iterador de spool. Os LOBs podem usar esse estado de espera freqüentemente.

EXECUTION_PIPE_EVENT_INTERNAL

Ocorre durante a sincronização entre o produtor e partes do consumidor de execução em lotes que são enviados por meio do contexto da conexão.

FAILPOINT

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

FCB_REPLICA_READ

Ocorre quando as leituras de um arquivo esparso de instantâneo (ou um instantâneo temporário criado por DBCC) são sincronizadas.

FCB_REPLICA_WRITE

Ocorre quando o envio ou a remoção de uma página de um arquivo esparso de instantâneo (ou de um instantâneo temporário criado por DBCC) é sincronizado.

FS_FC_RWLOCK

Ocorre quando há uma espera pelo coletor de lixo do FILESTREAM para proceder de uma das seguintes maneiras:

  • Desabilitar a coleta de lixo (usada por backup e restauração).

  • Executar um ciclo do coletor de lixo do FILESTREAM.

FS_GARBAGE_COLLECTOR_SHUTDOWN

Ocorre quando o coletor de lixo do FILESTREAM está aguardando que tarefas de limpeza sejam concluídas.

FS_HEADER_RWLOCK

Ocorre quando há uma espera para adquirir acesso ao cabeçalho do FILESTREAM de um contêiner de dados do FILESTREAM para ler ou atualizar o conteúdo no arquivo de cabeçalho do FILESTREAM (Filestream.hdr).

FS_LOGTRUNC_RWLOCK

Ocorre quando há uma espera para adquirir acesso ao truncamento de log do FILESTREAM para proceder de uma das seguintes maneiras:

  • Desabilitar temporariamente o truncamento de log do FILESTREAM (FSLOG) (usado pelo backup e pela restauração).

  • Executar um ciclo de truncamento de FSLOG.

FSA_FORCE_OWN_XACT

Ocorre quando uma operação de E/S de arquivo do FILESTREAM precisa associar-se à transação associada, mas a transação pertence a outra sessão no momento.

FSAGENT

Ocorre quando uma operação de E/S de arquivo FILESTREAM está aguardando um recurso do agente do FILESTREAM que está sendo usado por outra operação de E/S de arquivo.

FSTR_CONFIG_MUTEX

Ocorre quando há uma espera para que outra reconfiguração de recurso do FILESTREAM seja concluída.

FSTR_CONFIG_RWLOCK

Ocorre quando há uma espera para serializar o acesso aos parâmetros de configuração do FILESTREAM.

FT_METADATA_MUTEX

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

FT_RESTART_CRAWL

Ocorre quando um rastreamento de texto completo precisa ser reiniciado a partir do último ponto conhecido bom para recuperação de uma falha momentânea. A espera deixa as tarefas do trabalhador em execução na população para concluir a etapa atual ou sair dela.

FULLTEXT GATHERER

Ocorre durante a sincronização de operações de texto completo.

GUARDIAN

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

HTTP_ENUMERATION

Ocorre na inicialização para enumerar os pontos de extremidade de HTTP para iniciar o HTTP.

HTTP_START

Ocorre quando uma conexão está esperando que o HTTP conclua a inicialização.

IMPPROV_IOWAIT

Ocorre quando o SQL Server aguarda que uma E/S de carregamento em massa seja concluída.

INTERNAL_TESTING

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

IO_AUDIT_MUTEX

Ocorre durante a sincronização de buffers de evento de rastreamento.

IO_COMPLETION

Ocorre enquanto se espera as operações de E/S serem concluídas. Esse tipo de espera geralmente representa E/Ss de página sem dados. As esperas de conclusão de E/S da página de dados são exibidas como esperas PAGEIOLATCH_*.

IO_RETRY

Ocorre quando uma operação de E/S, como uma leitura ou uma gravação no disco, falha devido a recursos insuficientes, e é tentada novamente.

IOAFF_RANGE_QUEUE

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

KSOURCE_WAKEUP

Usado pela tarefa de controle de serviço ao aguardar solicitações do Gerenciador de Controle de Serviços. Esperas longas estão previstas e não indicam um problema.

KTM_ENLISTMENT

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

KTM_RECOVERY_MANAGER

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

KTM_RECOVERY_RESOLUTION

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

LATCH_DT

Ocorre ao esperar uma trava de DT (destruir). Isso não inclui travas de buffer ou de marcação de transação. Uma listagem de esperas de LATCH_* está disponível em sys.dm_os_latch_stats. Observe que os grupos LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT de sys.dm_os_latch_stats aguardam juntos.

LATCH_EX

Ocorre ao esperar uma trava de EX (exclusivo). Isso não inclui travas de buffer ou de marcação de transação. Uma listagem de esperas de LATCH_* está disponível em sys.dm_os_latch_stats. Observe que os grupos LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT de sys.dm_os_latch_stats aguardam juntos.

LATCH_KP

Ocorre ao esperar uma trava de KP (manutenção). Isso não inclui travas de buffer ou de marcação de transação. Uma listagem de esperas de LATCH_* está disponível em sys.dm_os_latch_stats. Observe que os grupos LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT de sys.dm_os_latch_stats aguardam juntos.

LATCH_NL

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

LATCH_SH

Ocorre ao esperar uma trava de SH (compartilhamento). Isso não inclui travas de buffer ou de marcação de transação. Uma listagem de esperas de LATCH_* está disponível em sys.dm_os_latch_stats. Observe que os grupos LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT de sys.dm_os_latch_stats aguardam juntos.

LATCH_UP

Ocorre ao esperar uma trava de UP (atualização). Isso não inclui travas de buffer ou de marcação de transação. Uma listagem de esperas de LATCH_* está disponível em sys.dm_os_latch_stats. Observe que os grupos LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT de sys.dm_os_latch_stats aguardam juntos.

LAZYWRITER_SLEEP

Ocorre quando as tarefas lazywriter são suspensas. É uma medição do tempo gasto por tarefas em segundo plano em espera. Não considere esse estado quando você estiver procurando pausas de usuário.

LCK_M_BU

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Atualização em Massa (BU). Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_IS

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Tentativa Compartilhada (IS). Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_IU

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Atualização da Tentativa (IU). Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_IX

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Exclusivo da Tentativa (IX). Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_NL

Ocorre quando uma tarefa está esperando adquirir um bloqueio NULL no valor de chave atual e um bloqueio Inserção de Intervalo entre a chave atual e a anterior. Um bloqueio NULL na chave é um bloqueio de liberação instantâneo. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_S

Ocorre quando uma tarefa está esperando adquirir um bloqueio compartilhado no valor de chave atual e um bloqueio Inserção de Intervalo entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_U

Uma tarefa que está esperando para adquirir um bloqueio Atualização no valor de chave atual e um bloqueio Inserção de Intervalo entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_X

Ocorre quando uma tarefa está esperando adquirir um bloqueio Exclusivo no valor de chave atual e um bloqueio Inserção de Intervalo entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RS_S

Ocorre quando uma tarefa está esperando adquirir um bloqueio Compartilhado no valor de chave atual e um bloqueio Intervalo Compartilhado entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RS_U

Ocorre quando uma tarefa está esperando adquirir um bloqueio Atualização no valor de chave atual e um bloqueio Atualização de Intervalo entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_S

Ocorre quando uma tarefa está esperando adquirir um bloqueio Compartilhado no valor de chave atual e um bloqueio Intervalo Exclusivo entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_U

Ocorre quando uma tarefa está esperando adquirir um bloqueio Atualização no valor de chave atual e um bloqueio Intervalo Exclusivo entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_X

Ocorre quando uma tarefa está esperando adquirir um bloqueio Exclusivo no valor de chave atual e um bloqueio Intervalo Exclusivo entre a chave atual e a anterior. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_S

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Compartilhado. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_SCH_M

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Modificação de Esquema. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_SCH_S

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Compartilhamento de Esquema. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_SIU

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Compartilhado com Atualização da Tentativa. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_SIX

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Compartilhado com Exclusivo da Tentativa. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_U

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Atualização. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_UIX

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Atualização com Exclusivo da Tentativa. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LCK_M_X

Ocorre quando uma tarefa está esperando para adquirir um bloqueio Exclusivo. Para obter uma matriz de compatibilidade de bloqueio, consulte sys.dm_tran_locks (Transact-SQL).

LOGBUFFER

Ocorre quando uma tarefa está esperando espaço no buffer de log para armazenar um registro de log. Consistentemente, valores altos podem indicar que os dispositivos de log não podem acompanhar a quantidade de log que está sendo gerada pelo servidor.

LOGGENERATION

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

LOGMGR

Ocorre quando uma tarefa está aguardando que qualquer E/S de log pendente seja concluída antes de desativar o log durante o fechamento do banco de dados.

LOGMGR_FLUSH

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

LOGMGR_QUEUE

Ocorre enquanto a tarefa de gravador de log aguarda solicitações de trabalho.

LOGMGR_RESERVE_APPEND

Ocorre quando uma tarefa está esperando para verificar se o truncamento de log libera espaço para logs, para que a tarefa possa gravar um novo registro de log. Considere aumentar o tamanho do(s) arquivo(s) de log para o banco de dados afetado para reduzir essa espera.

LOWFAIL_MEMMGR_QUEUE

Ocorre ao aguardar que a memória esteja disponível para uso.

MISCELLANEOUS

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

MSQL_DQ

Ocorre quando uma tarefa está aguardando que uma operação de consulta distribuída seja concluída. Isso é usado para detectar deadlocks de aplicativo MARS (Vários Conjuntos de Resultados Ativos) potenciais. A espera termina quando a chamada de consulta distribuída é concluída.

MSQL_XACT_MGR_MUTEX

Ocorre quando uma tarefa está aguardando para obter a propriedade do gerenciador de transações de sessão para executar uma operação de transação em nível de sessão.

MSQL_XACT_MUTEX

Ocorre durante sincronização de uso de transação. Uma solicitação deve adquirir o mutex antes de usar a transação.

MSQL_XP

Ocorre quando uma tarefa está esperando a conclusão de um procedimento armazenado estendido. SQL Server usa esse estado de espera para detectar deadlocks de aplicativo MARS potencial. A espera pára quando a chamada do procedimento armazenado estendido termina.

MSSEARCH

Ocorre durante chamadas de pesquisa de texto completo. Essa espera termina quando a operação de texto completo é concluída. Ela não indica contenção, mas a duração de operações de texto completo.

NET_WAITFOR_PACKET

Ocorre quando uma conexão está esperando um pacote de rede durante uma leitura de rede.

OLEDB

Ocorre quando SQL Server chama o provedor SQL Server Native Cliente OLE DB. Esse tipo de espera não é usado para sincronização. Em vez disso, ele indica a duração de chamadas ao provedor OLE DB.

ONDEMAND_TASK_QUEUE

Ocorre enquanto uma tarefa em segundo plano aguarda solicitações de tarefa de sistema de alta prioridade. Os tempos de espera longos indicam que não houve nenhuma solicitação de alta prioridade a ser processada e que isso não deve causar nenhuma preocupação.

PAGEIOLATCH_DT

Ocorre quando uma tarefa está esperando em uma trava por um buffer que está em uma solicitação de E/S. A solicitação de trava está no modo Destruição. Esperas longas podem indicar problemas no subsistema de disco.

PAGEIOLATCH_EX

Ocorre quando uma tarefa está esperando em uma trava por um buffer que está em uma solicitação de E/S. A solicitação de trava está em modo Exclusivo. Esperas longas podem indicar problemas no subsistema de disco.

PAGEIOLATCH_KP

Ocorre quando uma tarefa está esperando em uma trava por um buffer que está em uma solicitação de E/S. A solicitação de trava está no modo Manutenção. Esperas longas podem indicar problemas no subsistema de disco.

PAGEIOLATCH_NL

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

PAGEIOLATCH_SH

Ocorre quando uma tarefa está esperando em uma trava por um buffer que está em uma solicitação de E/S. A solicitação de trava está no modo Compartilhado. Esperas longas podem indicar problemas no subsistema de disco.

PAGEIOLATCH_UP

Ocorre quando uma tarefa está esperando em uma trava por um buffer que está em uma solicitação de E/S. A solicitação de trava está no modo Atualização. Esperas longas podem indicar problemas no subsistema de disco.

PAGELATCH_DT

Ocorre quando uma tarefa está esperando em uma trava por um buffer que não está em uma solicitação de E/S. A solicitação de trava está no modo Destruição.

PAGELATCH_EX

Ocorre quando uma tarefa está esperando em uma trava por um buffer que não está em uma solicitação de E/S. A solicitação de trava está em modo Exclusivo.

PAGELATCH_KP

Ocorre quando uma tarefa está esperando em uma trava por um buffer que não está em uma solicitação de E/S. A solicitação de trava está no modo Manutenção.

PAGELATCH_NL

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

PAGELATCH_SH

Ocorre quando uma tarefa está esperando em uma trava por um buffer que não está em uma solicitação de E/S. A solicitação de trava está no modo Compartilhado.

PAGELATCH_UP

Ocorre quando uma tarefa está esperando em uma trava por um buffer que não está em uma solicitação de E/S. A solicitação de trava está no modo Atualização.

PARALLEL_BACKUP_QUEUE

Ocorre ao serializar a saída produzida por RESTORE HEADERONLY, RESTORE FILELISTONLY ou RESTORE LABELONLY.

PREEMPTIVE_ABR

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

PREEMPTIVE_AUDIT_ACCESS_EVENTLOG

Ocorre quando o agendador de Sistema operacional (SQLOS) SQL Server alterna para o modo preemptivo para escrever um evento de auditoria para o log de eventos do Windows.

PREEMPTIVE_AUDIT_ACCESS_SECLOG

Ocorre quando o agendador de Sistema operacional (SQLOS) alterna para o modo preemptivo para escrever um evento de auditoria para o log de segurança do Windows.

PREEMPTIVE_CLOSEBACKUPMEDIA

Ocorre quando o agendador de SQLOS alterna para o modo preventivo para fechar a mídia de backup.

PREEMPTIVE_CLOSEBACKUPTAPE

Ocorre quando o agendador de SQLOS alterna para o modo preemptivo para fechar um dispositivo de backup de fita.

PREEMPTIVE_CLOSEBACKUPVDIDEVICE

Ocorre quando o agendador de SQLOS alterna para o modo preemptivo para fechar um dispositivo de backup virtual.

PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL

Ocorre quando o agendador de Sistema operacional (SQLOS) alterna para o modo preemptivo para executar operações de cluster de failover do Windows.

PREEMPTIVE_COM_COCREATEINSTANCE

Ocorre quando o agendador de SQLOS alterna para o modo preemptivo para criar um objeto COM.

PREEMPTIVE_SOSTESTING

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

PREEMPTIVE_STRESSDRIVER

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

PREEMPTIVE_TESTING

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

PREEMPTIVE_XETESTING

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

PRINT_ROLLBACK_PROGRESS

Usado para aguardar enquanto os processos do usuário são finalizados em um banco de dados que passou por transição usando a cláusula de término ALTER DATABASE. Para obter mais informações, consulte ALTER DATABASE (Transact-SQL).

QPJOB_KILL

Indica que uma atualização de estatística automática e assíncrona foi cancelada por uma chamada para KILL enquanto a atualização estava começando a ser executada. O thread de término está suspenso, esperando que ele inicie a escuta dos comandos KILL. Um valor bom é menos de um segundo.

QPJOB_WAITFOR_ABORT

Indica que uma atualização assíncrona de estatísticas automática foi cancelada por uma chamada a KILL quando estava sendo executada. A atualização agora está concluída, mas está suspensa até que a coordenação de mensagens de thread de término seja concluída. Esse é um estado comum, mas raro, e deve ser bem curto. Um valor bom é menos de um segundo.

QRY_MEM_GRANT_INFO_MUTEX

Ocorre quando o gerenciamento de memória de execução de consulta tenta controlar o acesso à lista de informações de concessão estáticas. Esse estado lista informações sobre as solicitações de memória em espera e concedidas atuais. É um estado de controle de acesso simples. Nunca deverá haver uma espera longa nesse estado. Se o mutex não for liberado, todas as novas consultas que usam memória deixarão de responder.

QUERY_ERRHDL_SERVICE_DONE

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

QUERY_EXECUTION_INDEX_SORT_EVENT_OPEN

Ocorre em determinados casos quando a criação de índice offline é executada em paralelo, e os diferentes threads de trabalho que estão classificando sincronizam o acesso aos arquivos de classificação.

QUERY_NOTIFICATION_MGR_MUTEX

Ocorre durante a sincronização da fila de coleta de lixo do gerenciador de notificação de consulta.

QUERY_NOTIFICATION_SUBSCRIPTION_MUTEX

Ocorre durante a sincronização de estado para transações em notificações de consulta.

QUERY_NOTIFICATION_TABLE_MGR_MUTEX

Ocorre durante sincronização interna no gerenciador de notificação de consulta.

QUERY_NOTIFICATION_UNITTEST_MUTEX

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

QUERY_OPTIMIZER_PRINT_MUTEX

Ocorre durante sincronização de produção de saída de diagnóstico do otimizador de consulta. Esse tipo de espera só ocorrerá se as configurações de diagnóstico estiverem habilitadas sob a direção do Suporte ao Produto da Microsoft.

QUERY_TRACEOUT

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

QUERY_WAIT_ERRHDL_SERVICE

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

RECOVER_CHANGEDB

Ocorre durante a sincronização do status do banco de dados em espera passiva.

REPL_CACHE_ACCESS

Ocorre durante a sincronização em um cache de artigo de replicação. Durante essas esperas, o leitor de log de replicação entra em pausa e as instruções DDL (linguagem de definição de dados) em uma tabela publicada, são bloqueadas.

REPL_SCHEMA_ACCESS

Ocorre durante sincronização das informações de versão do esquema de replicação. Esse estado ocorre quando as instruções DDL são executadas no objeto replicado e quando o leitor de log gera ou consome esquema com controle de versão com base em uma ocorrência DDL.

REPLICA_WRITES

Ocorre enquanto uma tarefa espera a conclusão de gravações de página em instantâneos de banco de dados ou réplicas de DBCC.

REQUEST_DISPENSER_PAUSE

Ocorre quando uma tarefa está esperando a conclusão de todas as E/Ss pendentes, de forma que a E/S para um arquivo possa ser congelada para backup de instantâneo.

REQUEST_FOR_DEADLOCK_SEARCH

Ocorre enquanto o monitor de deadlock espera iniciar a próxima pesquisa de deadlock. Essa espera é prevista entre as detecções de deadlock e, o tempo total maior nesse recurso, não significa que existe um problema.

RESMGR_THROTTLED

Ocorre quando uma nova solicitação chega e é suprimida com base na configuração de GROUP_MAX_REQUESTS.

RESOURCE_QUEUE

Ocorre durante a sincronização de várias filas de recurso internos.

RESOURCE_SEMAPHORE

Ocorre quando uma solicitação de memória de consulta não pode ser concedida imediatamente devido a outras consultas simultâneas. Esperas e tempos de espera longos podem indicar número excessivo de consultas simultâneas ou valores de solicitação de memória excessivos.

RESOURCE_SEMAPHORE_MUTEX

Ocorre enquanto uma consulta aguarda a sua solicitação de uma reserva de thread ser atendida. Também ocorre durante a sincronização de solicitações de compilação de consulta e concessão de memória.

RESOURCE_SEMAPHORE_QUERY_COMPILE

Ocorre quando o número de compilações de consulta simultâneas atinge um limite de estrangulamento. Esperas e tempos de espera longos podem indicar compilações excessivas, recompilações ou planos que não sejam para cache.

RESOURCE_SEMAPHORE_SMALL_QUERY

Ocorre quando uma solicitação de memória por meio de uma pequena consulta não pode ser concedida imediatamente devido a outras consultas simultâneas. O tempo de espera não deve exceder mais do que alguns segundos porque o servidor transfere a solicitação ao pool de memória de consulta principal se ele falhar ao conceder a memória solicitada dentro de alguns segundos. Esperas longas podem indicar número excessivo de pequenas consultas simultâneas enquanto o pool de memória principal está sendo bloqueado por consultas em espera.

SEC_DROP_TEMP_KEY

Ocorre depois de uma falha ao tentar descartar uma chave de segurança temporária antes de uma nova tentativa.

SECURITY_MUTEX

Ocorre quando há uma espera por mutexes que controlam o acesso à lista global de provedores criptográficos de EKM (Gerenciamento Extensível de Chaves) e à lista de escopo de sessões de EKM.

SEQUENTIAL_GUID

Ocorre enquanto um novo GUID seqüencial está sendo obtido.

SERVER_IDLE_CHECK

Ocorre durante a sincronização do status ocioso da instância do SQL Server quando um monitor de recursos está tentando declarar uma instância do SQL Server como ociosa ou tentando ativá-la.

SHUTDOWN

Ocorre enquanto uma instrução de desligamento aguarda o encerramento de conexões ativas.

SLEEP_BPOOL_FLUSH

Ocorre quando um ponto de verificação está estrangulando a emissão de E/Ss novas para evitar o enchimento do subsistema de disco.

SLEEP_DBSTARTUP

Ocorre durante a inicialização do banco de dados enquanto aguarda a recuperação de todos os bancos de dados.

SLEEP_DCOMSTARTUP

Ocorre uma vez no máximo durante inicialização da instância do SQL Server enquanto aguarda a conclusão da inicialização do DCOM.

SLEEP_MSDBSTARTUP

Ocorre quando o SQL Trace aguarda o banco de dados msdb concluir a inicialização.

SLEEP_SYSTEMTASK

Ocorre durante o início de uma tarefa em segundo plano enquanto aguarda tempdb concluir a inicialização.

SLEEP_TASK

Ocorre quando uma tarefa é suspensa enquanto aguarda a ocorrência de um evento genérico.

SLEEP_TEMPDBSTARTUP

Ocorre enquanto uma tarefa aguarda tempdb concluir a inicialização.

SNI_CRITICAL_SECTION

Ocorre durante a sincronização interna nos componentes de rede do SQL Server.

SNI_HTTP_WAITFOR_0_DISCON

Ocorre durante o desligamento do SQL Server ao aguardar o encerramento de conexões HTTP pendentes.

SNI_LISTENER_ACCESS

Ocorre ao aguardar que os nós NUMA (acesso não uniforme à memória) atualizem a alteração do estado. O acesso à alteração de estado é serializado.

SNI_TASK_COMPLETION

Ocorre quando há uma espera para que todas as tarefas sejam concluídas durante uma alteração de estado de nó NUMA.

SOAP_READ

Ocorre ao aguardar pela conclusão de uma leitura de rede HTTP.

SOAP_WRITE

Ocorre enquanto aguarda a conclusão de uma gravação de rede HTTP.

SOS_CALLBACK_REMOVAL

Ocorre enquanto executa a sincronização em uma lista de retorno de chamada para remover um retorno de chamada. Não se espera que esse contador seja alterado depois que a inicialização do servidor é concluída.

SOS_DISPATCHER_MUTEX

Ocorre durante a sincronização interna do pool de dispatchers. Isto inclui o período de ajuste do pool.

SOS_LOCALALLOCATORLIST

Ocorre durante a sincronização interna no gerenciador de memória do SQL Server.

SOS_MEMORY_USAGE_ADJUSTMENT

Ocorre quando o uso de memória está sendo ajustado entre pools.

SOS_OBJECT_STORE_DESTROY_MUTEX

Ocorre durante sincronização interna em pools de memória na destruição de objetos do pool.

SOS_PROCESS_AFFINITY_MUTEX

Ocorre durante a sincronização de acesso para processar configurações de afinidade.

SOS_RESERVEDMEMBLOCKLIST

Ocorre durante a sincronização interna no gerenciador de memória do SQL Server.

SOS_SCHEDULER_YIELD

Ocorre quando uma tarefa cede o agendador para a execução de outras tarefas. Durante essa espera, a tarefa espera que seu quantum seja renovado.

SOS_SMALL_PAGE_ALLOC

Ocorre durante a alocação e a liberação de memória que é gerenciada por alguns objetos de memória.

SOS_STACKSTORE_INIT_MUTEX

Ocorre durante a sincronização da inicialização do armazenamento interno.

SOS_SYNC_TASK_ENQUEUE_EVENT

Ocorre quando uma tarefa é iniciada em uma maneira síncrona. A maioria das tarefas em SQL Server são iniciadas de maneira assíncrona, em que o controle retorna ao iniciador logo após a solicitação de tarefa ter sido colocada na fila de trabalhos.

SOS_VIRTUALMEMORY_LOW

Ocorre quando uma alocação de memória espera um gerenciador de recursos liberar memória virtual.

SOSHOST_EVENT

Ocorre quando um componente hospedado, como CLR, espera um objeto de sincronização de evento do SQL Server.

SOSHOST_INTERNAL

Ocorre durante a sincronização de retornos de chamada de gerenciador de memória usada por componentes hospedados, como CLR.

SOSHOST_MUTEX

Ocorre quando um componente hospedado, como CLR, espera um objeto de sincronização de mutex do SQL Server.

SOSHOST_RWLOCK

Ocorre quando um componente hospedado, como CLR, espera um objeto de sincronização de leitor-gravador de evento do SQL Server.

SOSHOST_SEMAPHORE

Ocorre quando um componente hospedado, como CLR, espera um objeto de sincronização de semáforo SQL Server.

SOSHOST_SLEEP

Ocorre quando uma tarefa hospedada entra em suspensão enquanto espera a ocorrência de um evento genérico. As tarefas hospedadas são usadas por componentes hospedados, como CLR.

SOSHOST_TRACELOCK

Ocorre durante a sincronização de acesso para localizar fluxos.

SOSHOST_WAITFORDONE

Ocorre quando um componente hospedado, como CLR, aguarda a conclusão de uma tarefa.

SQLCLR_APPDOMAIN

Ocorre enquanto CLR espera que um domínio de aplicativo conclua a inicialização.

SQLCLR_ASSEMBLY

Ocorre enquanto aguarda o acesso à lista de assemblies carregados em appdomain.

SQLCLR_DEADLOCK_DETECTION

Ocorre enquanto CLR aguarda a conclusão da detecção de deadlock.

SQLCLR_QUANTUM_PUNISHMENT

Ocorre quando uma tarefa CLR é estrangulada porque excedeu seu quantum de execução. Esse estrangulamento é feito para reduzir o efeito dessa tarefa com muitos recursos em outras tarefas.

SQLSORT_NORMMUTEX

Ocorre durante sincronização interna na inicialização das estruturas de classificação internas.

SQLSORT_SORTMUTEX

Ocorre durante sincronização interna na inicialização das estruturas de classificação internas.

SQLTRACE_BUFFER_FLUSH

Ocorre quando uma tarefa espera que, uma tarefa em segundo plano, libere buffers de rastreamento para o disco a cada quatro segundos.

SQLTRACE_LOCK

Ocorre durante sincronização em buffers de rastreamento durante um rastreamento de arquivo.

SQLTRACE_SHUTDOWN

Ocorre enquanto o desligamento de rastreamento aguarda a conclusão dos eventos de rastreamento pendentes.

SQLTRACE_WAIT_ENTRIES

Ocorre enquanto uma fila de eventos SQL Trace aguarda a chegada de pacotes na fila.

SRVPROC_SHUTDOWN

Ocorre enquanto o processo de desligamento aguarda a liberação dos recursos internos para desligamento completo.

TEMPOBJ

Ocorre quando os descartes de objetos temporários são sincronizados. Essa espera é rara e ocorrerá somente se uma tarefa tiver solicitado acesso exclusivo a remoções da tabela temp.

THREADPOOL

Ocorre quando uma tarefa está aguardando um trabalhador para que seja executada. Isso pode indicar que a configuração máxima do trabalhador está muito baixa ou que as execuções em lotes estão demorando normalmente mais tempo, reduzindo o número de trabalhadores disponíveis para atender outros lotes.

TIMEPRIV_TIMEPERIOD

Ocorre durante a sincronização interna do timer de Eventos Estendidos.

TRACEWRITE

Ocorre quando o provedor de rastreamento do conjunto de linhas de Rastreamento SQL aguarda que um buffer livre ou um buffer com eventos seja processado.

TRAN_MARKLATCH_DT

Ocorre ao esperar uma trava de modo de destruição em uma destruição de marcação de transação. Essas travas são usadas para sincronização de confirmações com transações marcadas.

TRAN_MARKLATCH_EX

Ocorre ao esperar uma trava de modo exclusiva em uma transação marcada. Essas travas são usadas para sincronização de confirmações com transações marcadas.

TRAN_MARKLATCH_KP

Ocorre ao esperar uma trava de modo de manutenção em uma transação marcada. Essas travas são usadas para sincronização de confirmações com transações marcadas.

TRAN_MARKLATCH_NL

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

TRAN_MARKLATCH_SH

Ocorre ao esperar uma trava de modo compartilhado em uma transação marcada. Essas travas são usadas para sincronização de confirmações com transações marcadas.

TRAN_MARKLATCH_UP

Ocorre ao esperar uma trava de modo de atualização em uma transação marcada. Essas travas são usadas para sincronização de confirmações com transações marcadas.

TRANSACTION_MUTEX

Ocorre durante a sincronização de acesso a uma transação por meio de vários lotes.

UTIL_PAGE_ALLOC

Ocorre quando exames de log de transação aguardam que memória esteja disponível durante pressão da memória.

VIA_ACCEPT

Ocorre quando uma conexão do provedor Virtual Interface Adapter (VIA) é concluída durante a inicialização.

VIEW_DEFINITION_MUTEX

Ocorre durante a sincronização no acesso às definições de exibição em cache.

WAIT_FOR_RESULTS

Ocorre ao esperar a ativação de uma notificação de consulta.

WAITFOR

Ocorre como resultado de uma instrução WAITFOR Transact-SQL. A duração da espera é determinada pelos parâmetros da instrução. Essa é uma espera iniciada pelo usuário.

WAITFOR_TASKSHUTDOWN

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

WAITSTAT_MUTEX

Ocorre durante a sincronização de acesso à coleção de estatísticas usadas para popular sys.dm_os_wait_stats.

WCC

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

WORKTBL_DROP

Ocorre ao pausar antes de tentar novamente, após uma falha na remoção de uma tabela de trabalho.

WRITE_COMPLETION

Ocorre quando uma operação de gravação está em andamento.

WRITELOG

Ocorre ao aguardar que uma liberação de log seja concluída. As operações comuns que causam liberações de log são pontos de verificação e confirmações de transação.

XACT_OWN_TRANSACTION

Ocorre enquanto se espera a aquisição da propriedade de uma transação.

XACT_RECLAIM_SESSION

Ocorre enquanto se espera que o proprietário atual de uma sessão libere a propriedade da sessão.

XACTLOCKINFO

Ocorre durante a sincronização de acesso à lista de bloqueios para uma transação. Além da própria transação, a lista de bloqueios é acessada por operações como detecção de deadlock e migração de bloqueio durante divisões de páginas.

XACTWORKSPACE_MUTEX

Ocorre durante a sincronização de remoções de uma transação, bem como do número de bloqueios de banco de dados entre os membros registrados de uma transação.

XE_BUFFERMGR_ALLPROCESSED_EVENT

Ocorre quando buffers de sessão do Extended Events são liberados para destinos. Essa espera ocorre em um thread em segundo plano.

XE_BUFFERMGR_FREEBUF_EVENT

Ocorre quando uma destas condições é verdadeira:

  • Uma sessão do Extended Events é configurada para nenhuma perda de evento e todos os buffers na sessão estão atualmente cheios. Isso pode indicar que os buffers para uma sessão do Extended Events são muito pequenos ou devem ser particionados.

  • As auditorias apresentam um atraso. Isso pode indicar um afunilamento de disco na unidade onde as auditorias são gravadas.

XE_DISPATCHER_CONFIG_SESSION_LIST

Ocorre quando uma sessão do Extended Events que está usando destinos assíncronos é iniciada ou interrompida. Essa espera indica qualquer um dos seguintes:

  • Uma sessão do Extended Events está sendo registrada com um pool de thread em segundo plano.

  • O pool de thread em segundo plano está calculando o número necessário de threads com base na carga atual.

XE_DISPATCHER_JOIN

Ocorre quando um thread em segundo plano que é usado para sessões do Extended Events está sendo encerrado.

XE_DISPATCHER_WAIT

Ocorre quando um thread em segundo plano que é usado para sessões do Extended Events está esperando o processamento de buffers de evento.

XE_MODULEMGR_SYNC

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

XE_OLS_LOCK

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

XE_PACKAGE_LOCK_BACKOFF

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

Histórico de alterações

Conteúdo atualizado

Removidos os seguintes tipos de espera da tabela "Tipo de espera":

  • BACKUP_CLIENTLOCK

  • CURSOR

  • CURSOR_ASYNC

  • DBTABLE

  • FT_RESUME_CRAWL

  • HTTP_ENDPOINT_COLLCREATE

  • IMP_IMPORT_MUTEX

  • INDEX_USAGE_STATS_MUTEX

  • MIRROR_SEND_MESSAGE

  • MSQL_SYNC_PIPE

  • QNMANAGER_ACQUIRE

  • RG_RECONFIG

  • SNI_HTTP_ACCEPT

Adicionados os seguintes tipos de espera à tabela "Tipo de espera":

  • ABR

  • ASSEMBLY_LOAD

  • AUDIT_GROUPCACHE_LOCK

  • AUDIT_LOGINCACHE_LOCK

  • AUDIT_ON_DEMAND_TARGET_LOCK

  • AUDIT_XE_SESSION_MGR

  • BROKER_SERVICE

  • BROKER_TASK_STOP

  • BROKER_TO_FLUSH

  • CHECK_PRINT_RECORD

  • CLEAR_DB

  • CLR_MEMORY_SPY

  • CLRHOST_STATE_ACCESS

  • CXROWSET_SYNC

  • DAC_INIT

  • DISPATCHER_QUEUE_SEMAPHORE

  • DUMPTRIGGER

  • EXECUTION_PIPE_EVENT_INTERNAL

  • FS_FC_RWLOCK

  • FS_GARBAGE_COLLECTOR_SHUTDOWN

  • FS_HEADER_RWLOCK

  • FS_LOGTRUNC_RWLOCK

  • FSA_FORCE_OWN_XACT

  • FSAGENT

  • FSTR_CONFIG_MUTEX

  • FSTR_CONFIG_RWLOCK

  • FT_METADATA_MUTEX

  • GUARDIAN

  • INTERNAL_TESTING

  • IO_RETRY

  • IOAFF_RANGE_QUEUE

  • LOGGENERATION

  • PREEMPTIVE_ABR

  • PREEMPTIVE_AUDIT_ACCESS_EVENTLOG

  • PREEMPTIVE_AUDIT_ACCESS_SECLOG

  • PREEMPTIVE_CLOSEBACKUPMEDIA

  • PREEMPTIVE_CLOSEBACKUPTAPE

  • PREEMPTIVE_CLOSEBACKUPVDIDEVICE

  • PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL

  • PREEMPTIVE_COM_COCREATEINSTANCE

  • PREEMPTIVE_SOSTESTING

  • PREEMPTIVE_STRESSDRIVER

  • PREEMPTIVE_TESTING

  • PREEMPTIVE_XETESTING

  • QUERY_ERRHDL_SERVICE_DONE

  • QUERY_WAIT_ERRHDL_SERVICE

  • SECURITY_MUTEX

  • SEQUENTIAL_GUID

  • SNI_LISTENER_ACCESS

  • SNI_TASK_COMPLETION

  • SOS_DISPATCHER_MUTEX

  • SOS_SMALL_PAGE_ALLOC

  • TIMEPRIV_TIMEPERIOD

  • VIA_ACCEPT

  • WAITFOR_TASKSHUTDOWN

  • WCC

  • WRITE_COMPLETION

  • 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