sys.dm_os_wait_stats (Transact-SQL)

Vengono restituite informazioni su tutte le attese rilevate dai thread eseguiti. Questa vista aggregata può essere utilizzata per diagnosticare problemi relativi alle prestazioni in SQL Server nonché in query e batch specifici.

Nome colonna

Tipo di dati

Descrizione

wait_type

nvarchar(60)

Nome del tipo di attesa.

waiting_tasks_count

bigint

Numero di attese per il tipo di attesa specifico. Questo contatore viene incrementato all'inizio di ogni attesa.

wait_time_ms

bigint

Tempo di attesa totale, espresso in millisecondi, per il tipo di attesa specifico. Questo tempo include signal_wait_time_ms.

max_wait_time_ms

bigint

Tempo di attesa massimo per il tipo di attesa specifico.

signal_wait_time_ms

bigint

Differenza tra il momento in cui è stato rilevato il thread in attesa e quello in cui è stata avviata l'esecuzione del thread.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

Osservazioni

Tipi di attesa

  • Attesa di risorse
    Questo tipo di attesa si verifica quando un thread di lavoro richiede l'accesso a una risorsa non disponibile perché utilizzata da un altro thread di lavoro o perché non è ancora disponibile. Un esempio di attesa di risorse è rappresentato da blocchi, latch e attese di I/O su rete e su disco. Le attese di blocchi e latch sono attese a livello di oggetti di sincronizzazione.

  • Attesa di code
    Questo tipo di attesa si verifica quando un thread di lavoro è inattivo ed è in attesa dell'assegnazione di lavoro. Le attese di code si verificano principalmente nell'ambito di attività di sistema in background quali, ad esempio, il monitoraggio dei deadlock e le attività di pulizia dei record eliminati. Queste attività attenderanno l'inserimento delle richieste di lavoro in una coda di elaborazione. È possibile che le attese di code diventino periodicamente attive anche se non sono stati inseriti nuovi pacchetti nella coda.

  • Attese esterne
    Questo tipo di attesa si verifica quando un thread di lavoro di SQL Server è in attesa del completamento di un evento esterno, ad esempio una chiamata di stored procedure estesa o una query di server collegato. Se vengono diagnosticati problemi di blocco, è opportuno ricordare che le attese esterne non sempre implicano che il thread di lavoro sia inattivo in quanto è possibile che il codice esterno venga eseguito attivamente da tale thread.

sys.dm_os_wait_stats consente di visualizzare la durata delle attese completate. In questa vista a gestione dinamica non è possibile visualizzare le attese correnti.

Un thread di lavoro di SQL Server non viene considerato in attesa se si verifica uno dei seguenti casi:

  • Una risorsa diventa disponibile.

  • Una coda non è vuota.

  • Un processo esterno viene completato.

Anche se il thread non è più in attesa, la sua esecuzione non deve necessariamente essere avviata subito perché tale thread viene innanzitutto inserito nella coda dei thread di lavoro eseguibili e pertanto deve attendere un quantum per essere eseguito nell'utilità di pianificazione.

In SQL Server i contatori del tempo di attesa sono valori di tipo bigint e pertanto non sono soggetti al rollover dei contatori come i corrispondenti contatori nelle versioni precedenti di SQL Server.

Tipi specifici di tempi di attesa durante l'esecuzione di query possono indicare colli di bottiglia oppure punti di stallo all'interno della query. In modo analogo, tempi di attesa o conteggi di attesa rilevanti a livello di server possono indicare colli di bottiglia o aree critiche nelle interazioni tra query all'interno dell'istanza del server. Ad esempio, le attese di blocco indicano contese a livello di dati da parte delle query, le attese di latch di I/O di pagina indicano tempi di risposta I/O bassi, mentre le attese di aggiornamento dei latch di pagina indicano layout di file errati.

Il contenuto di questa vista a gestione dinamica può essere ripristinato mediante l'esecuzione del comando seguente:

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

Questo comando reimposta tutti i contatori su 0.

[!NOTA]

Queste statistiche non sono persistenti tra i vari riavvii di SQL Server e tutti i dati sono cumulativi dall'ultimo ripristino delle statistiche oppure dall'ultimo avvio del server.

Nella tabella seguente sono elencati i tipi di attesa rilevati dalle attività.

Tipo di attesa

Descrizione

ABR

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

ASSEMBLY_LOAD

Si verifica durante l'accesso esclusivo al caricamento di assembly.

ASYNC_DISKPOOL_LOCK

Si verifica in caso di tentativo di sincronizzazione di thread paralleli che eseguono attività quali, ad esempio, la creazione o l'inizializzazione di un file.

ASYNC_IO_COMPLETION

Si verifica quando un'attività è in attesa del completamento dell'I/O.

ASYNC_NETWORK_IO

Si verifica durante le operazioni di scrittura in rete quando l'attività è bloccata in rete. Verificare che il client stia elaborando dati dal server.

AUDIT_GROUPCACHE_LOCK

Si verifica in caso di attesa su un blocco che controlla accesso a una cache speciale. La cache contiene le informazioni sui controlli utilizzati per controllare ogni gruppo di azioni di controllo.

AUDIT_LOGINCACHE_LOCK

Si verifica in caso di attesa su un blocco che controlla accesso a una cache speciale. La cache contiene le informazioni sui controlli utilizzati per controllare i gruppi di azioni di controllo accesso.

AUDIT_ON_DEMAND_TARGET_LOCK

Si verifica in caso di attesa su un blocco utilizzato per assicurare l'inizializzazione singola delle destinazioni degli eventi estesi relative ai controlli.

AUDIT_XE_SESSION_MGR

Si verifica in caso di attesa su un blocco utilizzato per sincronizzare l'avvio e l'arresto delle sessioni degli eventi estesi relative ai controlli.

BACKUP

Si verifica quando un'attività è bloccata in quanto parte dell'elaborazione di un backup.

BACKUP_OPERATOR

Si verifica quando un'attività è in attesa del montaggio del nastro. Per visualizzare lo stato del nastro, eseguire una query su sys.dm_io_backup_tapes. Se un'operazione di montaggio non è in sospeso, questo tipo di attesa potrebbe indicare un problema a livello di hardware nell'unità nastro.

BACKUPBUFFER

Si verifica quando un'attività di backup è in attesa di dati oppure di un buffer in cui archiviare dati. Questo tipo di attesa non è comune, tranne quando un'attività è in attesa del montaggio di un nastro.

BACKUPIO

Si verifica quando un'attività di backup è in attesa di dati oppure di un buffer in cui archiviare dati. Questo tipo di attesa non è comune, tranne quando un'attività è in attesa del montaggio di un nastro.

BACKUPTHREAD

Si verifica quando un'attività è in attesa del completamento di un'attività di backup. I tempi di attesa possono essere lunghi, da alcuni minuti a parecchie ore. Se l'attività per la quale si è verificata l'attesa è un processo di I/O, questo tipo di attesa non indica un problema.

BAD_PAGE_PROCESS

Si verifica quando il logger in background delle pagine sospette tenta di evitare l'esecuzione con una frequenza superiore a 5 secondi. Un numero eccessivo di pagine sospette determina una frequente esecuzione del logger.

BROKER_CONNECTION_RECEIVE_TASK

Si verifica durante l'attesa dell'accesso per la ricezione di un messaggio su un endpoint della connessione. L'accesso per la ricezione all'endpoint viene serializzato.

In ogni endpoint della connessione di Service Broker (e del mirroring del database) è incluso un elenco di buffer a cui vengono inviati dati dalla rete. Sono disponibili due thread che consentono l'elaborazione dell'elenco: uno permette di inserire buffer per ricevere dati, mentre l'altro consente l'elaborazione di buffer dopo la ricezione dei dati. In particolare, questo tipo di attesa si verifica quando tramite i thread si tenta di accedere all'elenco per aggiungere o rimuovere buffer.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • I valori di waiting_tasks_count e wait_time_ms devono essere proporzionali alla quantità di dati di rete ricevuti da tutti gli endpoint della connessione di Service Broker (e del mirroring del database). 

  • avg_wait_time_ms deve essere un valore molto piccolo.

BROKER_ENDPOINT_STATE_MUTEX

Si verifica in caso di contesa per l'accesso allo stato di un endpoint della connessione di Service Broker o del mirroring del database. L'accesso allo stato per le modifiche viene serializzato.

In particolare, questo tipo di attesa si verifica nelle condizioni seguenti:

  • Ogni volta che si verifica un cambiamento di stato per un endpoint della connessione di Service Broker o del mirroring del database durante il tentativo di stabilire la connessione (o "handshake"). 

  • Ogni volta che vengono eseguite query sulla vista a gestione dinamica (DMV) sys.dm_broker_connections o sys.dm_db_mirroring_connections per serializzare l'accesso allo stato dell'handshake di ogni connessione. Tenere presente che in questo caso, il tipo di attesa si verifica per ogni endpoint della connessione.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • avg_wait_time_ms deve essere un valore molto piccolo.

  • Entrambi i valori di wait_time_ms e waiting_tasks_count devono essere proporzionali al numero di volte in cui Service Broker o il mirroring del database consente di stabilire una connessione con un'altra istanza di SQL Server e al numero di volte in cui vengono eseguite query sulla DMV sys.dm_broker_connections o sys.dm_db_mirroring_connections.

  • L'aumento rapido dei valori di wait_time_ms e waiting_tasks_count potrebbe indicare tentativi molto frequenti di stabilire la connessione e la relativa rimozione. Poiché il trasporto Service Broker consente di rimuovere le connessioni dopo circa 90 secondi di inattività, questi valori possono aumentare se Service Broker viene utilizzato dalle applicazioni una volta ogni 90 secondi circa.

BROKER_EVENTHANDLER

Si verifica quando un'attività è in attesa, nel gestore di eventi primario di Service Broker, di uno degli elementi seguenti:

  • Avvio o arresto dell'istanza

  • Eventi timer dialogo (ad esempio timeout del dialogo)

  • Timeout della route con mirroring

Questo tipo di attesa dovrebbe verificarsi per brevissimi periodi.

Ogni istanza di SQL Server dispone di un thread del gestore di eventi primario per l'elaborazione dell'avvio, dell'arresto e degli eventi del timer di Service Broker. Questo thread è sempre presente ed è in fase di attesa o di elaborazione di questi eventi.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • wait_time_ms deve corrispondere approssimativamente all'intervallo dall'avvio dell'istanza di SQL Server.

  • waiting_tasks_count indica il numero di volte in cui il gestore di eventi primario deve attendere perché non esiste alcun evento da elaborare.

Nessuno di questi campi indica un problema di prestazioni.

Se Service Broker non viene utilizzato (direttamente o tramite Posta elettronica database o notifica degli eventi), si dovrebbe visualizzare quanto indicato di seguito:

  • max_wait_time_ms e wait_time_ms saranno approssimativamente uguali.

  • waiting_tasks_count corrisponderà a un valore molto piccolo.

BROKER_INIT

Si verifica durante l'inizializzazione di Service Broker in ciascun database attivo. Questo tipo di attesa si verifica raramente.

Inoltre, tale tipo di attesa si verifica ogni volta che l'inizializzazione della gestione Service Broker interna per qualsiasi database non viene completata da Service Broker, che attende circa 1 secondo prima di effettuare un nuovo tentativo per lo stesso database.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • waiting_tasks_count indica il numero di volte in cui l'inizializzazione di Service Broker in ciascun database non viene completata da Service Broker. Valori elevati o in aumento di waiting_tasks_count indicano un problema con l'istanza di SQL Server.

  • wait_time_ms deve essere proporzionale a waiting_tasks_count.

  • avg_wait_time_ms deve corrispondere approssimativamente a 1 secondo.

BROKER_MASTERSTART

Si verifica quando un'attività è in attesa dell'avvio del gestore di eventi primario di Service Broker. Questo tipo di attesa si verifica per brevissimi periodi durante l'avvio dell'istanza, quando tramite Service Broker si attende l'avvio del database master.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • waiting_tasks_count deve essere 1.

  • wait_time_ms deve essere un valore molto piccolo.

BROKER_RECEIVE_WAITFOR

Si verifica quando l'istruzione RECEIVE WAITFOR è in attesa. Questo tipo di attesa è comune se nessun messaggio è pronto per la ricezione.

Inoltre, tale tipo di attesa si verifica una volta per ogni istruzione WAITFOR RECEIVE Transact-SQL, dove per l'esecuzione di istruzioni si attende l'arrivo di messaggi nella coda utente.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • waiting_tasks_count è uguale al numero di volte in cui l'istruzione WAITFOR RECEIVE è stata eseguita.

  • wait_time_ms deve corrispondere al tempo totale di attesa dell'esecuzione delle istruzioni prima dell'arrivo di messaggi o corrispondere al timeout di WAITFOR per ogni istruzione WAITFOR RECEIVE.

Se avg_wait_time_ms è molto più elevato del previsto, controllare il log degli errori e gli eventi SQL Server Profiler sia nell'initiator sia nelle istanze del server di destinazione alla ricerca di potenziali problemi.

BROKER_REGISTERALLENDPOINTS

Si verifica durante l'inizializzazione di un endpoint della connessione di Service Broker o del mirroring del database. Questo tipo di attesa si verifica per brevissimi periodi durante l'avvio dell'istanza, quando tramite Service Broker si attendono tutti i tipi di endpoint da registrare.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • waiting_tasks_count deve essere 1.

  • wait_time_ms deve essere un valore molto piccolo.

BROKER_SERVICE

Si verifica quando l'elenco di destinazioni degli hop successivi Service Broker associato a una coppia istanza di Service Broker/servizio di destinazione viene aggiornato o classificato nuovamente in ordine di priorità a causa dell'aggiunta o rimozione di un dialogo dalla coppia di istanze. 

Service Broker consente di inviare messaggi a queste destinazioni dell'hop successivo in ordine della relativa priorità. Pertanto, l'accesso all'elenco di destinazioni e alle relative modifiche delle priorità valide viene serializzato.

Quando si interpretano i valori per questo tipo di attesa, utilizzare le linee guida seguenti:

  • waiting_tasks_count e wait_time_ms indicano il numero di volte in cui l'accesso a queste strutture interne deve essere serializzato da Service Broker.

  • avg_wait_time_ms deve essere un valore molto piccolo.

BROKER_SHUTDOWN

Si verifica in caso di chiusura pianificata di Service Broker. Questo tipo di attesa si verifica saltuariamente ed eventualmente per brevissimi periodi.

waiting_tasks_count e wait_time_ms devono essere entrambi 0 a meno che l'arresto dell'istanza sia già iniziato. Durante l'arresto dell'istanza, Service Broker attende alcuni secondi l'arresto del relativo gestore di eventi primario e di tutti gli endpoint della connessione.

BROKER_TASK_STOP

Si verifica quando uno dei gestori delle attività di coda Service Broker viene arrestato perché non esiste alcuna attività interna. Il gestore delle attività attende per un massimo di 10 secondi prima di essere eliminato, qualora sia necessario riavviarlo per l'esecuzione di un'attività.

Service Broker dispone di vari gestori delle attività utilizzati per eseguire attività interne correlate alla trasmissione di messaggi, a operazioni di rete asincrone e all'elaborazione dei messaggi ricevuti.

In uno scenario di elevato carico di lavoro, i valori di waiting_tasks_count e di wait_time_ms devono essere piccoli.

Ogni 5 secondi Service Broker consente di pianificare un'attività di pulizia interna il cui funzionamento non è affidabile senza l'utilizzo di quest'ultimo. Tuttavia, ciò comporta la riattivazione, il riavvio, l'esecuzione, quindi l'attesa dell'avvio dell'attività di uno dei gestori delle attività. Pertanto, se Service Broker non viene utilizzato, sarà necessario visualizzare i valori seguenti:

  • waiting_tasks_count e wait_time_ms devono continuare ad aumentare, proporzionalmente all'intervallo di tempo dall'avvio dell'istanza di SQL Server. 

  • avg_wait_time_ms deve essere vicino a 5 secondi.

BROKER_TO_FLUSH

Si verifica quando lo svuotamento lento di Service Broker consente di svuotare gli oggetti di trasmissione in memoria in una tabella di lavoro. Un oggetto di trasmissione è un oggetto in memoria che consente di gestire e registrare lo stato delle trasmissioni dei messaggi per un dialogo.

Per motivi di prestazioni, Service Broker consente di gestire tutti gli oggetti di trasmissione in memoria e nelle tabelle temporanee su disco. Ogni volta che viene aggiornato un oggetto di trasmissione, ne viene pianificato lo svuotamento in una tabella temporanea in tempdb. Service Broker consente di utilizzare un'attività dello svuotamento lento "sempre attiva" per questo processo.

Se Service Broker non viene utilizzato, sarà necessario visualizzare i valori seguenti:

  • wait_time_ms e waiting_tasks_count devono essere proporzionali all'intervallo di tempo dall'avvio dell'istanza di SQL Server.

  • avg_wait_time_ms deve corrispondere approssimativamente a 1 secondo.

Quando il carico di lavoro di Service Broker è eccessivo, queste colonne devono avere valori bassi in quanto lo svuotamento lento sarà occupato.

BROKER_TRANSMITTER

Si verifica quando tramite i thread dello strumento di recapito di Service Broker si attendono i messaggi di dialogo da inviare.

Lo strumento di recapito consente di pianificare messaggi provenienti da più dialoghi che saranno inviati in rete tramite uno o più endpoint della connessione. A tale scopo vengono utilizzati due thread dedicati nello strumento di recapito.

Valori elevati di waiting_tasks_count indicano che i thread funzionano in modo intermittente. Ciò non indica un problema di prestazioni.

Se Service Broker non viene utilizzato, sarà necessario visualizzare i valori seguenti:

  • waiting_tasks_count deve essere 2 (per i due thread dello strumento di recapito).

  • wait_time_ms deve corrispondere a due volte la durata dall'avvio dell'istanza di SQL Server.

BUILTIN_HASHKEY_MUTEX

Può verificarsi dopo l'avvio dell'istanza, durante l'inizializzazione delle strutture di dati interne. Non si ripete dopo l'inizializzazione delle strutture di dati.

CHECK_PRINT_RECORD

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

CHECKPOINT_QUEUE

Si verifica quando l'attività di checkpoint è in attesa della successiva richiesta di checkpoint.

CHKPT

Si verifica all'avvio del server per indicare il thread di gestione dei checkpoint che è possibile avviare.

CLEAR_DB

Si verifica durante le operazioni che modificano lo stato di un database, ad esempio l'apertura o la chiusura.

CLR_AUTO_EVENT

Si verifica quando un'attività sta effettuando un'esecuzione CLR (Common Language Runtime) ed è in attesa dell'inizializzazione di un evento automatico specifico. In genere si verificano attese prolungate, che tuttavia non indicano un problema.

CLR_CRST

Si verifica quando un'attività sta effettuando un'esecuzione CLR ed è in attesa di iniziare una parte critica dell'attività utilizzata da un'altra attività.

CLR_JOIN

Si verifica quando un'attività sta effettuando un'esecuzione CLR ed è in attesa del completamento di un'altra attività. Questo stato di attesa si verifica quando è presente un join tra attività.

CLR_MANUAL_EVENT

Si verifica quando un'attività sta effettuando un'esecuzione CLR ed è in attesa dell'inizializzazione di un evento manuale specifico.

CLR_MEMORY_SPY

Si verifica durante l'attesa dell'acquisizione del blocco per una struttura di dati utilizzata per registrare tutte le allocazioni della memoria virtuale che provengono da CLR. La struttura di dati è bloccata per gestire l'integrità se l'accesso è parallelo.

CLR_MONITOR

Si verifica quando un'attività sta effettuando un'esecuzione CLR ed è in attesa di acquisire un blocco per il monitoraggio.

CLR_RWLOCK_READER

Si verifica quando un'attività sta effettuando un'esecuzione CLR ed è in attesa di un blocco del reader.

CLR_RWLOCK_WRITER

Si verifica quando un'attività sta effettuando un'esecuzione CLR ed è in attesa di un blocco del writer.

CLR_SEMAPHORE

Si verifica quando un'attività sta effettuando un'esecuzione CLR ed è in attesa di un semaforo.

CLR_TASK_START

Si verifica durante l'attesa del completamento dell'avvio di un'attività CLR.

CLRHOST_STATE_ACCESS

Si verifica in caso di attesa per l'acquisizione dell'accesso esclusivo alle strutture di dati di hosting CLR. Questo tipo di attesa si verifica durante la configurazione o la rimozione del runtime CLR.

CMEMTHREAD

Si verifica quando un'attività è in attesa di un oggetto memoria affidabile. Il tempo di attesa potrebbe aumentare in caso di contesa causata da più attività che tentano di allocare memoria dallo stesso oggetto memoria.

CXPACKET

Si verifica quando si cerca di sincronizzare l'iteratore di scambio di Query Processor. È possibile valutare la possibilità di ridurre il grado di parallelismo se la contesa per questo tipo di attesa costituisce un problema.

CXROWSET_SYNC

Si verifica durante una scansione di intervalli parallela.

DAC_INIT

Si verifica durante l'inizializzazione della connessione dedicata dell'amministratore.

DBMIRROR_DBM_EVENT

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

DBMIRROR_DBM_MUTEX

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

DBMIRROR_EVENTS_QUEUE

Si verifica quando il mirroring del database è in attesa di eventi da elaborare.

DBMIRROR_SEND

Si verifica quando un'attività è in attesa della cancellazione di un backlog delle comunicazioni nel livello rete per essere in grado di inviare messaggi. Indica che nel livello comunicazioni si sta verificando un overload che può pregiudicare la velocità effettiva dei dati di mirroring del database.

DBMIRROR_WORKER_QUEUE

Indica che l'attività di lavoro del mirroring del database è in attesa di ulteriore lavoro.

DBMIRRORING_CMD

Si verifica quando un'attività è in attesa dello scaricamento su disco dei record di log. Questo stato di attesa viene in genere mantenuto per lunghi periodi di tempo.

DEADLOCK_ENUM_MUTEX

Si verifica con il tentativo del monitoraggio dei deadlock e di sys.dm_os_waiting_tasks di impedire l'esecuzione di più ricerche di deadlock simultanee in SQL Server.

DEADLOCK_TASK_SEARCH

Un tempo di attesa elevato per questa risorsa indica che su sys.dm_os_waiting_tasks è in corso l'esecuzione di query che causano il blocco della ricerca di deadlock nell'ambito del monitoraggio dei deadlock. Questo tipo di attesa viene utilizzato soltanto dalla funzionalità di monitoraggio dei deadlock. Per le query su sys.dm_os_waiting_tasks viene utilizzato DEADLOCK_ENUM_MUTEX.

DEBUG

Si verifica durante il debug CLR e Transact-SQL per la sincronizzazione interna.

DISABLE_VERSIONING

Si verifica quando SQL Server esegue il polling della gestione delle transazioni di versione per verificare se il timestamp della transazione attiva meno recente è successivo al timestamp relativo al momento in cui lo stato è stato modificato. In questo caso, vengono completate tutte le transazioni snapshot avviate prima dell'esecuzione dell'istruzione ALTER DATABASE. Questo stato di attesa viene utilizzando quando SQL Server disattiva il controllo delle versioni tramite l'istruzione ALTER DATABASE.

DISKIO_SUSPEND

Si verifica quando un'attività è in attesa di accedere a un file quando è attivo un backup esterno. Questo tipo di attesa viene segnalato per ogni processo utente in attesa. Un conteggio maggiore di 5 per processo utente può indicare che il completamento del backup esterno sta richiedendo troppo tempo.

DISPATCHER_QUEUE_SEMAPHORE

Si verifica quando un thread del pool di dispatcher è in attesa di più lavori da elaborare. Si prevede che il tempo di attesa per questo tipo di attesa aumenti quando il dispatcher è inattivo.

DLL_LOADING_MUTEX

Si verifica una volta durante l'attesa del caricamento della DLL del parser XML.

DROPTEMP

Si verifica tra diversi tentativi di eliminare un oggetto temporaneo, se il tentativo precedente ha avuto esito negativo. La durata dell'attesa aumenta in modo esponenziale con ogni tentativo di eliminazione non riuscito.

DTC

Si verifica quando un'attività è in attesa di un evento utilizzato per gestire la transizione di stato. Questo stato controlla se il recupero delle transazioni Microsoft Distributed Transaction Coordinator (MS DTC) si verifica dopo la ricezione da parte diSQL Server della notifica indicante che il servizio MS DTC non è disponibile.

Questo stato descrive inoltre un'attività in attesa quando un commit di una transazione MS DTC viene avviato da SQL Server e SQL Server è in attesa del completamento del commit MS DTC.

DTC_ABORT_REQUEST

Si verifica in una sessione di lavoro MS DTC quando la sessione è in attesa di acquisire la proprietà di una transazione MS DTC. Non appena MS DTC acquisisce la proprietà della transazione, la sessione può eseguire il rollback della transazione. In genere, nella sessione verrà attesa l'altra sessione in cui viene utilizzata la transazione.

DTC_RESOLVE

Si verifica quando il database master viene atteso in una transazione tra database da parte dell'attività di recupero in modo che nell'attività possa essere eseguita una query sul risultato della transazione.

DTC_STATE

Si verifica quando un'attività è in attesa di un evento che impedisce le modifiche all'oggetto stato globale MS DTC interno. Questo stato deve essere mantenuto per brevissimi periodi di tempo.

DTC_TMDOWN_REQUEST

Si verifica in una sessione di lavoro MS DTC quando SQL Server riceve una notifica indicante che il servizio MS DTC non è disponibile. Il thread di lavoro attenderà innanzitutto l'avvio del processo di recupero MS DTC. Il thread di lavoro attende quindi di ottenere il risultato della transazione distribuita su cui sta lavorando. Ciò potrebbe continuare finché non viene ristabilita la connessione al servizio MS DTC.

DTC_WAITFOR_OUTCOME

Si verifica quando le attività di recupero attendono l'attivazione di MS DTC per consentire la risoluzione delle transazioni preparate.

DUMP_LOG_COORDINATOR

Si verifica quando un'attività principale è in attesa che una sottoattività generi dati. In genere, questo stato non si verifica mai. Un tempo di attesa prolungato indica un blocco imprevisto. È pertanto necessario verificare la sottoattività.

DUMPTRIGGER

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

EC

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

EE_PMOLOCK

Si verifica durante la sincronizzazione di determinati tipi di allocazioni di memoria nel corso dell'esecuzione di istruzioni.

EE_SPECPROC_MAP_INIT

Si verifica durante la sincronizzazione della creazione della tabella hash delle procedure interne. Questa attesa può verificarsi solo durante l'accesso iniziale alla tabella hash dopo l'avvio dell'istanza di SQL Server.

ENABLE_VERSIONING

Si verifica quando SQL Server attende il completamento di tutte le transazioni di aggiornamento nel database prima di dichiarare il database pronto per la transizione allo stato in cui è consentito l'isolamento dello snapshot. Questo stato viene utilizzando quando SQL Server attiva l'isolamento dello snapshot tramite l'istruzione ALTER DATABASE.

ERROR_REPORTING_MANAGER

Si verifica durante la sincronizzazione delle inizializzazioni di più log degli errori simultanei.

EXCHANGE

Si verifica durante la sincronizzazione nell'iteratore di scambio di Query Processor nel corso di query parallele.

EXECSYNC

Si verifica durante query parallele nel corso della sincronizzazione in Query Processor in aree non correlate all'iteratore di scambio. Tali aree sono, ad esempio, bitmap, oggetti BLOB (Binary Large Object) e l'iteratore di spool. È possibile che gli oggetti BLOB utilizzino di frequente questo stato di attesa.

EXECUTION_PIPE_EVENT_INTERNAL

Si verifica durante la sincronizzazione tra parti del produttore e dell'utente dell'esecuzione batch inviate tramite il contesto di connessione.

FAILPOINT

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

FCB_REPLICA_READ

Si verifica quando le letture di un file sparse snapshot oppure di uno snapshot temporaneo creato da DBCC vengono sincronizzate.

FCB_REPLICA_WRITE

Si verifica durante la sincronizzazione di operazioni di push o pull di una pagina in un file sparse di uno snapshot oppure di uno snapshot temporaneo creato da DBCC.

FS_FC_RWLOCK

Si verifica in caso di attesa del Garbage Collector di FILESTREAM per le seguenti operazioni:

  • Disattivare Garbage Collection (utilizzato da backup e ripristino).

  • Eseguire un ciclo del Garbage Collector di FILESTREAM.

FS_GARBAGE_COLLECTOR_SHUTDOWN

Si verifica quando il Garbage Collector di FILESTREAM attende il completamento delle attività di pulizia.

FS_HEADER_RWLOCK

Si verifica in caso di attesa per l'accesso all'intestazione FILESTREAM di un contenitore di dati FILESTREAM per leggere o aggiornare il contenuto nel file di intestazione (Filestream.hdr) di FILESTREAM.

FS_LOGTRUNC_RWLOCK

Si verifica in caso di attesa per l'accesso al troncamento del log di FILESTREAM per le seguenti operazioni:

  • Disattivare temporaneamente il troncamento del log (FSLOG) di FILESTREAM (utilizzato da backup e ripristino).

  • Eseguire un ciclo del troncamento di FSLOG.

FSA_FORCE_OWN_XACT

Si verifica quando un'operazione di I/O del file FILESTREAM deve essere associata alla transazione associata, ma la transazione appartiene attualmente a un'altra sessione.

FSAGENT

Si verifica quando un'operazione di I/O del file FILESTREAM attende una risorsa dell'agente di FILESTREAM utilizzata da un'altra operazione di I/O di file.

FSTR_CONFIG_MUTEX

Si verifica in caso di attesa per il completamento di un'altra riconfigurazione di funzionalità di FILESTREAM.

FSTR_CONFIG_RWLOCK

Si verifica in caso di attesa per serializzare l'accesso ai parametri di configurazione di FILESTREAM.

FT_METADATA_MUTEX

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

FT_RESTART_CRAWL

Si verifica quando è necessario riavviare una ricerca per indicizzazione full-text dall'ultimo punto valido conosciuto per correggere un errore temporaneo. L'attesa consente alle attività di lavoro utilizzate per il popolamento di completare il passaggio corrente o uscirne.

FULLTEXT GATHERER

Si verifica durante la sincronizzazione delle operazioni full-text.

GUARDIAN

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

HTTP_ENUMERATION

Si verifica all'avvio per enumerare gli endpoint HTTP per avviare HTTP.

HTTP_START

Si verifica quando una connessione è in attesa che HTTP completi l'inizializzazione.

IMPPROV_IOWAIT

Si verifica quando SQL Server attende il completamento di un I/O di caricamento bulk.

INTERNAL_TESTING

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

IO_AUDIT_MUTEX

Si verifica durante la sincronizzazione di buffer di eventi di traccia.

IO_COMPLETION

Si verifica durante l'attesa del completamento di operazioni di I/O. Questo tipo di attesa rappresenta in genere operazioni di I/O su pagine non di dati. Le attese per il completamento di operazioni di I/O su pagine di dati vengono visualizzate come attese PAGEIOLATCH_*.

IO_RETRY

Si verifica quando un'operazione di I/O, quale un'operazione di lettura o scrittura sul disco, non riesce a causa di risorse insufficienti e viene ritentata l'operazione.

IOAFF_RANGE_QUEUE

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

KSOURCE_WAKEUP

Viene utilizzato dall'attività di controllo dei servizi durante l'attesa di richieste da Gestione controllo servizi. Sono previste attese prolungate, che non indicano un problema.

KTM_ENLISTMENT

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

KTM_RECOVERY_MANAGER

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

KTM_RECOVERY_RESOLUTION

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

LATCH_DT

Si verifica durante l'attesa di un latch di eliminazione (DT). Non sono inclusi i latch del buffer o i latch di contrassegno di transazione. Un elenco di attese LATCH_* è disponibile in sys.dm_os_latch_stats. Si noti che le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate in sys.dm_os_latch_stats.

LATCH_EX

Si verifica durante l'attesa di un latch esclusivo (EX). Non sono inclusi i latch del buffer o i latch di contrassegno di transazione. Un elenco di attese LATCH_* è disponibile in sys.dm_os_latch_stats. Si noti che le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate in sys.dm_os_latch_stats.

LATCH_KP

Si verifica durante l'attesa di un latch conservativo (KP). Non sono inclusi i latch del buffer o i latch di contrassegno di transazione. Un elenco di attese LATCH_* è disponibile in sys.dm_os_latch_stats. Si noti che le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate in sys.dm_os_latch_stats.

LATCH_NL

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

LATCH_SH

Si verifica durante l'attesa di un latch di condivisione (SH). Non sono inclusi i latch del buffer o i latch di contrassegno di transazione. Un elenco di attese LATCH_* è disponibile in sys.dm_os_latch_stats. Si noti che le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate in sys.dm_os_latch_stats.

LATCH_UP

Si verifica durante l'attesa di un latch di aggiornamento (UP). Non sono inclusi i latch del buffer o i latch di contrassegno di transazione. Un elenco di attese LATCH_* è disponibile in sys.dm_os_latch_stats. Si noti che le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate in sys.dm_os_latch_stats.

LAZYWRITER_SLEEP

Si verifica quando le attività Lazywriter vengono sospese. Si tratta di una misura della durata dell'attesa delle attività in background. Non considerare questo stato durante il rilevamento di stalli a livello di utente.

LCK_M_BU

Si verifica quando un'attività è in attesa di acquisire un blocco aggiornamenti bulk (BU). Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_IS

Si verifica quando un'attività è in attesa di acquisire un blocco preventivo condiviso (IS). Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_IU

Si verifica quando un'attività è in attesa di acquisire un blocco preventivo di aggiornamento (IU). Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_IX

Si verifica quando un'attività è in attesa di acquisire un blocco preventivo esclusivo (IX). Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_NL

Si verifica quando un'attività è in attesa di acquisire un blocco NULL per il valore di chiave corrente e un blocco di intervallo di inserimento tra la chiave corrente e quella precedente. Un blocco NULL per la chiave è un blocco a rilascio immediato. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_S

Si verifica quando un'attività è in attesa di acquisire un blocco condiviso per il valore di chiave corrente e un blocco di intervallo di inserimento tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_U

Si verifica quando un'attività è in attesa di acquisire un blocco di aggiornamento per il valore di chiave corrente e un blocco di intervallo di inserimento tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RIn_X

Si verifica quando un'attività è in attesa di acquisire un blocco esclusivo per il valore di chiave corrente e un blocco di intervallo di inserimento tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RS_S

Si verifica quando un'attività è in attesa di acquisire un blocco condiviso per il valore di chiave corrente e un blocco di intervallo condiviso tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RS_U

Si verifica quando un'attività è in attesa di acquisire un blocco di aggiornamento per il valore di chiave corrente e un blocco di intervallo di aggiornamento tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_S

Si verifica quando un'attività è in attesa di acquisire un blocco condiviso per il valore di chiave corrente e un blocco di intervallo esclusivo tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_U

Si verifica quando un'attività è in attesa di acquisire un blocco di aggiornamento per il valore di chiave corrente e un blocco di intervallo esclusivo tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_RX_X

Si verifica quando un'attività è in attesa di acquisire un blocco esclusivo per il valore di chiave corrente e un blocco di intervallo esclusivo tra la chiave corrente e quella precedente. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_S

Si verifica quando un'attività è in attesa di acquisire un blocco condiviso. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_SCH_M

Si verifica quando un'attività è in attesa di acquisire un blocco di modifica dello schema. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_SCH_S

Si verifica quando un'attività è in attesa di acquisire un blocco condiviso dello schema. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_SIU

Si verifica quando un'attività è in attesa di acquisire un blocco condiviso preventivo di aggiornamento. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_SIX

Si verifica quando un'attività è in attesa di acquisire un blocco condiviso preventivo esclusivo. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_U

Si verifica quando un'attività è in attesa di acquisire un blocco di aggiornamento. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_UIX

Si verifica quando un'attività è in attesa di acquisire un blocco di aggiornamento preventivo esclusivo. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LCK_M_X

Si verifica quando un'attività è in attesa di acquisire un blocco esclusivo. Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks (Transact-SQL).

LOGBUFFER

Si verifica quando un'attività è in attesa di spazio nel buffer del log per l'archiviazione di un record di log. Valori costantemente alti possono indicare che i file di registro non sono in grado di far fronte alla quantità di log generati dal server.

LOGGENERATION

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

LOGMGR

Si verifica quando un'attività è in attesa del completamento di qualsiasi operazione di I/O di log in sospeso prima di chiudere il log durante la chiusura del database.

LOGMGR_FLUSH

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

LOGMGR_QUEUE

Si verifica quando l'attività di scrittura del log è in attesa di richieste di lavoro.

LOGMGR_RESERVE_APPEND

Si verifica quando un'attività è in attesa di verificare se il troncamento del log libera spazio di log per consentire all'attività di scrivere un nuovo record di log. Valutare la possibilità di aumentare le dimensioni dei file di log per il database interessato allo scopo di ridurre l'attesa.

LOWFAIL_MEMMGR_QUEUE

Si verifica durante l'attesa di memoria disponibile per l'utilizzo.

MISCELLANEOUS

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

MSQL_DQ

Si verifica quando un'attività è in attesa del completamento di un'operazione di query distribuita. Viene utilizzato per rilevare potenziali deadlock di applicazioni MARS (Multiple Active Result Set). L'attesa termina al completamento della chiamata della query distribuita.

MSQL_XACT_MGR_MUTEX

Si verifica quando un'attività è in attesa di acquisire la proprietà della gestione transazioni della sessione per eseguire un'operazione di transazione a livello di sessione.

MSQL_XACT_MUTEX

Si verifica durante la sincronizzazione dell'utilizzo della transazione. Per poter utilizzare la transazione, una richiesta deve prima acquisire il mutex.

MSQL_XP

Si verifica quando un'attività è in attesa del termine di una stored procedure estesa. SQL Server utilizza questo stato di attesa per rilevare potenziali deadlock di applicazioni MARS. L'attesa termina al completamento della chiamata della stored procedure estesa.

MSSEARCH

Si verifica durante le chiamate di ricerca full-text. L'attesa termina al completamento dell'operazione full-text. Non indica contesa, bensì la durata delle operazioni full-text.

NET_WAITFOR_PACKET

Si verifica quando una connessione è in attesa di un pacchetto di rete durante una lettura in rete.

OLEDB

Si verifica quando SQL Server chiama il provider OLE DB per SQL Server Native Client. Questo tipo di attesa non viene utilizzato per la sincronizzazione. Indica invece la durata delle chiamate al provider OLE DB.

ONDEMAND_TASK_QUEUE

Si verifica quando un'attività in background è in attesa di richieste di attività di sistema con priorità elevata. Tempi di attesa prolungati indicano l'assenza di richieste con priorità elevata da elaborare e non costituiscono un problema.

PAGEIOLATCH_DT

Si verifica quando un'attività è in attesa di un latch per un buffer in una richiesta di I/O. La richiesta di latch è in modalità di eliminazione. Attese prolungate possono indicare problemi con il sottosistema disco.

PAGEIOLATCH_EX

Si verifica quando un'attività è in attesa di un latch per un buffer in una richiesta di I/O. La richiesta di latch è in modalità esclusiva. Attese prolungate possono indicare problemi con il sottosistema disco.

PAGEIOLATCH_KP

Si verifica quando un'attività è in attesa di un latch per un buffer in una richiesta di I/O. La richiesta di latch è in modalità di mantenimento. Attese prolungate possono indicare problemi con il sottosistema disco.

PAGEIOLATCH_NL

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

PAGEIOLATCH_SH

Si verifica quando un'attività è in attesa di un latch per un buffer in una richiesta di I/O. La richiesta di latch è in modalità condivisa. Attese prolungate possono indicare problemi con il sottosistema disco.

PAGEIOLATCH_UP

Si verifica quando un'attività è in attesa di un latch per un buffer in una richiesta di I/O. La richiesta di latch è in modalità di aggiornamento. Attese prolungate possono indicare problemi con il sottosistema disco.

PAGELATCH_DT

Si verifica quando un'attività è in attesa di un latch per un buffer non incluso in una richiesta di I/O. La richiesta di latch è in modalità di eliminazione.

PAGELATCH_EX

Si verifica quando un'attività è in attesa di un latch per un buffer non incluso in una richiesta di I/O. La richiesta di latch è in modalità esclusiva.

PAGELATCH_KP

Si verifica quando un'attività è in attesa di un latch per un buffer non incluso in una richiesta di I/O. La richiesta di latch è in modalità di mantenimento.

PAGELATCH_NL

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

PAGELATCH_SH

Si verifica quando un'attività è in attesa di un latch per un buffer non incluso in una richiesta di I/O. La richiesta di latch è in modalità condivisa.

PAGELATCH_UP

Si verifica quando un'attività è in attesa di un latch per un buffer non incluso in una richiesta di I/O. La richiesta di latch è in modalità di aggiornamento.

PARALLEL_BACKUP_QUEUE

Si verifica durante la serializzazione dell'output generato da RESTORE HEADERONLY, RESTORE FILELISTONLY o RESTORE LABELONLY.

PREEMPTIVE_ABR

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

PREEMPTIVE_AUDIT_ACCESS_EVENTLOG

Si verifica quando l'utilità di pianificazione del sistema operativo di SQL Server (SQLOS) passa alla modalità preemptive per scrivere un evento di controllo nel registro eventi di Windows.

PREEMPTIVE_AUDIT_ACCESS_SECLOG

Si verifica quando l'utilità di pianificazione del sistema operativo di SQL Server passa alla modalità preemptive per scrivere un evento di controllo nel registro di protezione di Windows.

PREEMPTIVE_CLOSEBACKUPMEDIA

Si verifica quando l'utilità di pianificazione del sistema operativo di SQL Server passa alla modalità preemptive per chiudere i supporti di backup.

PREEMPTIVE_CLOSEBACKUPTAPE

Si verifica quando l'utilità di pianificazione del sistema operativo di SQL Server passa alla modalità preemptive per chiudere un dispositivo di backup su nastro.

PREEMPTIVE_CLOSEBACKUPVDIDEVICE

Si verifica quando l'utilità di pianificazione del sistema operativo di SQL Server passa alla modalità preemptive per chiudere un dispositivo di backup virtuale.

PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL

Si verifica quando l'utilità di pianificazione del sistema operativo di SQL Server passa alla modalità preemptive per eseguire operazioni di cluster di failover di Windows.

PREEMPTIVE_COM_COCREATEINSTANCE

Si verifica quando l'utilità di pianificazione del sistema operativo di SQL Server passa alla modalità preemptive per creare un oggetto COM.

PREEMPTIVE_SOSTESTING

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

PREEMPTIVE_STRESSDRIVER

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

PREEMPTIVE_TESTING

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

PREEMPTIVE_XETESTING

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

PRINT_ROLLBACK_PROGRESS

Utilizzato per l'attesa durante la conclusione di processi utente in un database in cui si è verificata una transizione tramite la clausola di terminazione ALTER DATABASE. Per ulteriori informazioni, vedere ALTER DATABASE (Transact-SQL).

QPJOB_KILL

Indica che un aggiornamento automatico asincrono delle statistiche è stato annullato da una chiamata al comando KILL all'avvio dell'esecuzione dell'aggiornamento. Il thread di interruzione viene sospeso e rimarrà in attesa dei comandi KILL. Un valore ottimale è minore di un secondo.

QPJOB_WAITFOR_ABORT

Indica che un aggiornamento automatico asincrono delle statistiche è stato annullato da una chiamata al comando KILL durante l'esecuzione. L'aggiornamento è completato ma viene sospeso fino al completamento del coordinamento dei messaggi dei thread di interruzione. Questo stato è comune ma si verifica raramente e dovrebbe essere molto breve. Un valore ottimale è minore di un secondo.

QRY_MEM_GRANT_INFO_MUTEX

Si verifica quando la gestione della memoria dell'esecuzione di query cerca di controllare l'accesso all'elenco di informazioni statiche sulle concessioni. Questo stato elenca le informazioni sulle richieste di memoria correnti concesse e in attesa. Questo stato rappresenta un semplice stato di controllo dell'accesso. In questo stato non si dovrebbero mai verificare attese lunghe. Se questo mutex non viene rilasciato, tutte le nuove query che utilizzano memoria non risponderanno più.

QUERY_ERRHDL_SERVICE_DONE

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

QUERY_EXECUTION_INDEX_SORT_EVENT_OPEN

Si verifica in determinati casi in cui la creazione di indici non in linea viene eseguita in parallelo e i diversi thread di lavoro in cui viene eseguito l'ordinamento sincronizzano l'accesso ai file di ordinamento.

QUERY_NOTIFICATION_MGR_MUTEX

Si verifica durante la sincronizzazione della coda di Garbage Collection nell'utilità di gestione delle notifiche delle query.

QUERY_NOTIFICATION_SUBSCRIPTION_MUTEX

Si verifica durante la sincronizzazione dello stato per le transazioni nelle notifiche delle query.

QUERY_NOTIFICATION_TABLE_MGR_MUTEX

Si verifica durante la sincronizzazione interna nell'utilità di gestione delle notifiche delle query.

QUERY_NOTIFICATION_UNITTEST_MUTEX

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

QUERY_OPTIMIZER_PRINT_MUTEX

Si verifica durante la sincronizzazione della produzione di output di dati diagnostici di Query Optimizer. Questo tipo di attesa si verifica solo se sono state attivate impostazioni di diagnostica su richiesta del Servizio Supporto Tecnico Clienti Microsoft.

QUERY_TRACEOUT

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

QUERY_WAIT_ERRHDL_SERVICE

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

RECOVER_CHANGEDB

Si verifica durante la sincronizzazione dello stato del database in modalità standby a caldo (warm standby).

REPL_CACHE_ACCESS

Si verifica durante la sincronizzazione in una cache degli articoli di replica. Durante queste attese si riscontra uno stallo nella lettura del log delle repliche e il blocco delle istruzioni DDL (Data Definition Language) per una tabella pubblicata.

REPL_SCHEMA_ACCESS

Si verifica durante la sincronizzazione delle informazioni sulla versione dello schema di replica. Questo stato esiste quando vengono eseguite istruzioni DDL sull'oggetto replicato e quando nella lettura del log viene creato o utilizzato uno schema con versione basato sull'occorrenza DDL.

REPLICA_WRITES

Si verifica quando un'attività è in attesa del completamento di scritture di pagina in snapshot di database o repliche DBCC.

REQUEST_DISPENSER_PAUSE

Si verifica quando un'attività è in attesa del completamento di tutte le operazioni di I/O in sospeso, per poter bloccare l'I/O in un file per il backup snapshot.

REQUEST_FOR_DEADLOCK_SEARCH

Si verifica quando il monitoraggio dei deadlock è in attesa di avviare la successiva ricerca di deadlock. L'attesa tra rilevamenti di deadlock è prevista e un tempo di attesa totale prolungato per questa risorsa non indica un problema.

RESMGR_THROTTLED

Si verifica quando giunge una nuova richiesta rallentata in base all'impostazione GROUP_MAX_REQUESTS.

RESOURCE_QUEUE

Si verifica durante la sincronizzazione di diverse code di risorse interne.

RESOURCE_SEMAPHORE

Si verifica quando una richiesta di memoria per una query non può essere concessa immediatamente a causa di altre query simultanee. Attese e tempi di attesa rilevanti possono indicare un numero eccessivo di query simultanee o quantità eccessive di richieste di memoria.

RESOURCE_SEMAPHORE_MUTEX

Si verifica quando una query è in attesa che venga soddisfatta la richiesta di prenotazione di thread, nonché durante la sincronizzazione di richieste di compilazione di query e concessione di memoria.

RESOURCE_SEMAPHORE_QUERY_COMPILE

Si verifica quando il numero di compilazioni di query simultanee raggiunge un limite massimo. Attese e tempi di attesa rilevanti possono indicare una quantità eccessiva di compilazioni, ricompilazioni o piani non memorizzabili nella cache.

RESOURCE_SEMAPHORE_SMALL_QUERY

Si verifica quando una richiesta di memoria per una query di dimensioni ridotte non può essere concessa immediatamente a causa di altre query simultanee. Il tempo di attesa non deve superare pochi secondi, poiché se non è in grado di concedere la memoria richiesta entro pochi secondi il server trasferisce la richiesta al pool di memoria per query principale. Attese rilevanti possono indicare un numero eccessivo di query di dimensioni ridotte simultanee mentre il pool di memoria principale è bloccato da query in attesa.

SEC_DROP_TEMP_KEY

Si verifica dopo un tentativo non riuscito di eliminare una chiave di protezione temporanea, prima di un nuovo tentativo.

SECURITY_MUTEX

Si verifica in caso di attesa dei mutex che controllano l'accesso all'elenco globale dei provider di crittografia EKM e l'elenco con ambito sessione di sessioni EKM.

SEQUENTIAL_GUID

Si verifica durante l'ottenimento di un nuovo GUID sequenziale.

SERVER_IDLE_CHECK

Si verifica durante la sincronizzazione dello stato di inattività dell'istanza di SQL Server, quando un monitor risorse tenta di dichiarare un'istanza di SQL Server come inattiva o in corso di attivazione.

SHUTDOWN

Si verifica quando un'istruzione di chiusura è in attesa dell'interruzione delle connessioni attive.

SLEEP_BPOOL_FLUSH

Si verifica quando un checkpoint limita il rilascio di nuove operazioni di I/O per evitare il sovraccarico del sottosistema disco.

SLEEP_DBSTARTUP

Si verifica durante l'avvio di database, in attesa del recupero di tutti i database.

SLEEP_DCOMSTARTUP

Si verifica al massimo una volta durante l'avvio dell'istanza di SQL Server, in attesa del completamento dell'inizializzazione di DCOM.

SLEEP_MSDBSTARTUP

Si verifica quando in Traccia SQL si attende il completamento dell'avvio del database msdb.

SLEEP_SYSTEMTASK

Si verifica durante l'avvio di un'attività in background, in attesa che venga completato l'avvio di tempdb.

SLEEP_TASK

Si verifica quando un'attività viene sospesa in attesa di un evento generico.

SLEEP_TEMPDBSTARTUP

Si verifica quando in un'attività si attende il completamento dell'avvio di tempdb.

SNI_CRITICAL_SECTION

Si verifica durante la sincronizzazione interna nei componenti di rete di SQL Server.

SNI_HTTP_WAITFOR_0_DISCON

Si verifica durante l'arresto di SQL Server, in attesa della chiusura delle connessioni HTTP in sospeso.

SNI_LISTENER_ACCESS

Si verifica durante l'attesa dei nodi NUMA (Non-Uniform Memory Access) per aggiornare il cambiamento dello stato. L'accesso alla modifica dello stato è serializzato.

SNI_TASK_COMPLETION

Si verifica durante l'attesa del completamento di tutte le attività durante il cambiamento di stato di un nodo NUMA.

SOAP_READ

Si verifica durante l'attesa del completamento di una lettura in rete HTTP.

SOAP_WRITE

Si verifica durante l'attesa del completamento di una scrittura in rete HTTP.

SOS_CALLBACK_REMOVAL

Si verifica durante l'esecuzione della sincronizzazione in un elenco di callback allo scopo di rimuovere un callback. Dopo il completamento dell'inizializzazione del server non è prevista alcuna modifica di questo contatore.

SOS_DISPATCHER_MUTEX

Si verifica durante la sincronizzazione interna del pool di dispatcher e quando il pool viene modificato.

SOS_LOCALALLOCATORLIST

Si verifica durante la sincronizzazione interna nel gestore della memoria di SQL Server.

SOS_MEMORY_USAGE_ADJUSTMENT

Si verifica quando l'utilizzo della memoria è regolato tra i pool.

SOS_OBJECT_STORE_DESTROY_MUTEX

Si verifica durante la sincronizzazione interna in pool di memoria, in caso di eliminazione di oggetti dal pool.

SOS_PROCESS_AFFINITY_MUTEX

Si verifica durante la sincronizzazione dell'accesso a impostazioni relative all'affinità di processo.

SOS_RESERVEDMEMBLOCKLIST

Si verifica durante la sincronizzazione interna nel gestore della memoria di SQL Server.

SOS_SCHEDULER_YIELD

Si verifica quando un'attività cede il controllo dell'utilità di pianificazione per consentire l'esecuzione di altre attività. Durante questa attesa, l'attività attende il rinnovo del quantum.

SOS_SMALL_PAGE_ALLOC

Si verifica durante l'allocazione e la liberazione della memoria gestita da alcuni oggetti della memoria.

SOS_STACKSTORE_INIT_MUTEX

Si verifica durante la sincronizzazione dell'inizializzazione dell'archivio interno.

SOS_SYNC_TASK_ENQUEUE_EVENT

Si verifica quando un'attività viene avviata in modo sincrono. La maggior parte delle attività in SQL Server viene avviata in modo asincrono, in base a cui il controllo viene restituito al processo che ha richiesto l'avvio delle attività immediatamente dopo l'inserimento della richiesta dell'attività nella coda di elaborazione.

SOS_VIRTUALMEMORY_LOW

Si verifica quando un'allocazione di memoria è in attesa che venga liberata memoria virtuale da uno strumento di gestione delle risorse.

SOSHOST_EVENT

Si verifica quando un componente hosted, ad esempio CLR, è in attesa in un oggetto di sincronizzazione eventi di SQL Server.

SOSHOST_INTERNAL

Si verifica durante la sincronizzazione dei callback del gestore della memoria utilizzate da componenti hosted, ad esempio CLR.

SOSHOST_MUTEX

Si verifica quando un componente hosted, ad esempio CLR, è in attesa in un oggetto di sincronizzazione mutex di SQL Server.

SOSHOST_RWLOCK

Si verifica quando un componente hosted, ad esempio CLR, è in attesa in un oggetto di sincronizzazione di tipo lettura/scrittura di SQL Server.

SOSHOST_SEMAPHORE

Si verifica quando un componente hosted, ad esempio CLR, è in attesa in un oggetto di sincronizzazione semafori di SQL Server.

SOSHOST_SLEEP

Si verifica quando un'attività hosted viene sospesa in attesa di un evento generico. Le attività hosted vengono utilizzate da componenti hosted come CLR.

SOSHOST_TRACELOCK

Si verifica durante la sincronizzazione dell'accesso a flussi di traccia.

SOSHOST_WAITFORDONE

Si verifica quando un componente hosted, ad esempio CLR, è in attesa del completamento di un'attività.

SQLCLR_APPDOMAIN

Si verifica quando CLR è in attesa che venga completato l'avvio di un dominio applicazione.

SQLCLR_ASSEMBLY

Si verifica durante l'attesa dell'accesso all'elenco degli assembly caricati nel dominio applicazione.

SQLCLR_DEADLOCK_DETECTION

Si verifica quando CLR è in attesa che venga completato il rilevamento dei deadlock.

SQLCLR_QUANTUM_PUNISHMENT

Si verifica quando viene applicata una limitazione a un'attività CLR poiché ha superato il quantum di esecuzione. Questa limitazione ha lo scopo di ridurre l'effetto di questa attività a elevato utilizzo di risorse sulle altre attività.

SQLSORT_NORMMUTEX

Si verifica durante la sincronizzazione interna, nel corso dell'inizializzazione delle strutture di ordinamento interne.

SQLSORT_SORTMUTEX

Si verifica durante la sincronizzazione interna, nel corso dell'inizializzazione delle strutture di ordinamento interne.

SQLTRACE_BUFFER_FLUSH

Si verifica quando un'attività è in attesa di un'attività in background per scaricare i buffer di traccia su disco ogni 4 secondi.

SQLTRACE_LOCK

Si verifica durante la sincronizzazione in buffer di traccia nel corso di una traccia di file.

SQLTRACE_SHUTDOWN

Si verifica quando la chiusura della traccia è in attesa del completamento degli eventi di traccia in sospeso.

SQLTRACE_WAIT_ENTRIES

Si verifica quando una coda degli eventi di Traccia SQL è in attesa di pacchetti in arrivo nella coda.

SRVPROC_SHUTDOWN

Si verifica quando il processo di chiusura è in attesa del rilascio di risorse interne per essere completato correttamente.

TEMPOBJ

Si verifica quando vengono sincronizzate le eliminazioni di oggetti temporanei. Questo tipo di attesa è raro e si verifica solo se è stato richiesto l'accesso esclusivo per eliminazioni di tabelle temp da parte di un'attività.

THREADPOOL

Si verifica quando in un'attività si attende un thread di lavoro per la relativa esecuzione. Può indicare che il numero massimo di thread di lavoro impostato è troppo basso oppure che le esecuzioni dei batch richiedono una quantità di tempo insolitamente elevata, riducendo così il numero dei thread di lavoro disponibili per soddisfare altri batch.

TIMEPRIV_TIMEPERIOD

Si verifica durante la sincronizzazione interna del timer degli eventi estesi.

TRACEWRITE

Si verifica quando il provider di traccia del set di righe di Traccia SQL è in attesa di un buffer libero o un buffer con eventi da elaborare.

TRAN_MARKLATCH_DT

Si verifica durante l'attesa di un latch in modalità di eliminazione in un latch di contrassegno di transazione. I latch di contrassegno di transazione vengono utilizzati per la sincronizzazione di commit con transazioni contrassegnate.

TRAN_MARKLATCH_EX

Si verifica durante l'attesa di un latch in modalità esclusiva in una transazione contrassegnata. I latch di contrassegno di transazione vengono utilizzati per la sincronizzazione di commit con transazioni contrassegnate.

TRAN_MARKLATCH_KP

Si verifica durante l'attesa di un latch in modalità conservativa in una transazione contrassegnata. I latch di contrassegno di transazione vengono utilizzati per la sincronizzazione di commit con transazioni contrassegnate.

TRAN_MARKLATCH_NL

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

TRAN_MARKLATCH_SH

Si verifica durante l'attesa di un latch in modalità condivisa in una transazione contrassegnata. I latch di contrassegno di transazione vengono utilizzati per la sincronizzazione di commit con transazioni contrassegnate.

TRAN_MARKLATCH_UP

Si verifica durante l'attesa di un latch in modalità di aggiornamento in una transazione contrassegnata. I latch di contrassegno di transazione vengono utilizzati per la sincronizzazione di commit con transazioni contrassegnate.

TRANSACTION_MUTEX

Si verifica durante la sincronizzazione dell'accesso a una transazione da parte di più batch.

UTIL_PAGE_ALLOC

Si verifica quando le scansioni di log delle transazioni sono in attesa di memoria disponibile in caso di numero eccessivo di richieste di memoria.

VIA_ACCEPT

Si verifica quando una connessione del provider VIA (Virtual Interface Adapter) viene completata durante l'avvio.

VIEW_DEFINITION_MUTEX

Si verifica durante la sincronizzazione dell'accesso a definizioni delle viste memorizzate nella cache.

WAIT_FOR_RESULTS

Si verifica durante l'attesa dell'attivazione di una notifica di query.

WAITFOR

Si verifica come risultato di un'istruzione WAITFOR di Transact-SQL. La durata dell'attesa è determinata dai parametri per l'istruzione. Si tratta di un'attesa avviata dall'utente.

WAITFOR_TASKSHUTDOWN

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

WAITSTAT_MUTEX

Si verifica durante la sincronizzazione dell'accesso alla raccolta di statistiche utilizzata per popolare sys.dm_os_wait_stats.

WCC

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

WORKTBL_DROP

Si verifica durante la sospensione che precede un nuovo tentativo dopo un'eliminazione di tabella di lavoro non riuscita.

WRITE_COMPLETION

Si verifica quando è in esecuzione un'operazione di scrittura.

WRITELOG

Si verifica durante l'attesa del completamento di uno scaricamento del log. Checkpoint e commit delle transazioni costituiscono operazioni comuni che causano scaricamenti del log.

XACT_OWN_TRANSACTION

Si verifica durante l'attesa dell'acquisizione della proprietà di una transazione.

XACT_RECLAIM_SESSION

Si verifica durante l'attesa del rilascio della proprietà della sessione da parte del proprietario corrente.

XACTLOCKINFO

Si verifica durante la sincronizzazione dell'accesso all'elenco dei blocchi per una transazione. In aggiunta alla transazione stessa, all'elenco dei blocchi accedono operazioni come il rilevamento dei deadlock e la migrazione dei blocchi durante le suddivisioni delle pagine.

XACTWORKSPACE_MUTEX

Si verifica durante la sincronizzazione delle esclusioni da una transazione, nonché del numero di blocchi di database tra i membri integrati di una transazione.

XE_BUFFERMGR_ALLPROCESSED_EVENT

Si verifica quando i buffer della sessione degli eventi estesi vengono scaricati nelle destinazioni. Questa attesa si verifica in un thread in background.

XE_BUFFERMGR_FREEBUF_EVENT

Si verifica quando viene soddisfatta una delle condizioni seguenti:

  • Una sessione degli eventi estesi è configurata in modo da non prevedere alcuna perdita di eventi e tutti i buffer della sessione sono attualmente pieni. Questa situazione può indicare che le dimensioni dei buffer per una sessione degli eventi estesi non sono sufficienti o che i buffer devono essere partizionati.

  • Nei controlli si è verificato un ritardo. Questa situazione può indicare la presenza di un collo di bottiglia del disco nell'unità in cui vengono scritti i controlli.

XE_DISPATCHER_CONFIG_SESSION_LIST

Si verifica quando una sessione degli eventi estesi che utilizza destinazioni asincrone viene avviata o interrotta. Questa attesa indica una delle due situazioni seguenti:

  • Una sessione degli eventi estesi sta eseguendo una registrazione con un pool di thread in background.

  • Il pool di thread in background sta calcolando il numero necessario di thread in base al carico corrente.

XE_DISPATCHER_JOIN

Si verifica quando un thread in background utilizzato per le sessioni degli eventi estesi verrà terminato.

XE_DISPATCHER_WAIT

Si verifica quando un thread in background utilizzato per le sessioni degli eventi estesi è in attesa dell'elaborazione dei buffer degli eventi.

XE_MODULEMGR_SYNC

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

XE_OLS_LOCK

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

XE_PACKAGE_LOCK_BACKOFF

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

Cronologia modifiche

Contenuto aggiornato

Rimozione dei tipi di attesa seguenti dalla tabella "Tipo di attesa":

  • 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

Aggiunta dei tipi di attesa seguenti alla tabella "Tipo di attesa":

  • 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