sys.dm_os_wait_stats
Data aggiornamento: 14 aprile 2006
Restituisce informazioni sulle attese rilevate dai thread eseguiti. È possibile utilizzare questa visualizzazione aggregata per eseguire la diagnostica dei problemi a livello di prestazioni in SQL Server e anche 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 del tipo specificato. 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. Il tempo comprende 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 pulitura 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 rilevati problemi di blocco, è opportuno ricordare che le attese esterne non sempre implicano che il thread di lavoro sia inattivo in quanto è possibile che il thread di lavoro esegua attivamente codice esterno.
sys.dm_os_wait_stats visualizza la durata delle attese completate. Questa vista a gestione dinamica non visualizza 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 2005 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 |
---|---|
ASYNC_DISKPOOL_LOCK |
Si verifica in caso di tentativo di sincronizzazione di thread paralleli che eseguono attività quali, ad esempio, la creazione o l'inizializzazionesignal_wait_time_ms 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. |
BACKUP |
Si verifica quando un'attività è bloccata in quanto parte dell'elaborazione di un backup. |
BACKUP_CLIENTLOCK |
Solo per uso interno. |
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 lo strumento di registrazione 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 dello strumento di registrazione. |
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. |
BROKER_ENDPOINT_STATE_MUTEX |
Si verifica in caso di contesa per l'accesso allo stato di un endpoint della connessione di Service Broker. L'accesso allo stato per le modifiche viene serializzato. |
BROKER_EVENTHANDLER |
Si verifica quando un'attività è in attesa del gestore di eventi primario di Service Broker. Questo tipo di attesa si verifica per brevissimi periodi. |
BROKER_INIT |
Si verifica durante l'inizializzazione di Service Broker in ciascun database attivo. Questo tipo di attesa si verifica raramente. |
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. |
BROKER_RECEIVE_WAITFOR |
Si verifica quando l'istruzione RECEIVE WAITFOR è in attesa. Questo tipo di attesa è comune se nessun messaggio è pronto per la ricezione. |
BROKER_REGISTERALLENDPOINTS |
Si verifica durante l'inizializzazione di un endpoint della connessione di Service Broker. Questo tipo di attesa si verifica per brevissimi periodi. |
BROKER_SHUTDOWN |
Si verifica in caso di chiusura pianificata di Service Broker. Questo tipo di attesa si verifica saltuariamente ed eventualmente per brevissimi periodi. |
BROKER_TRANSMITTER |
Si verifica quando lo strumento di trasmissione di Service Broker è in attesa di lavoro. |
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. |
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. |
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. |
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_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. |
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. |
CURSOR |
Solo per uso interno. |
CURSOR_ASYNC |
Solo per uso interno. |
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. |
DBMIRROR_DBM_EVENT |
Solo per uso interno. |
DBMIRROR_DBM_MUTEX |
Solo per uso interno. |
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. |
DBTABLE |
Solo per uso interno. |
DEADLOCK_ENUM_MUTEX |
Si verifica quando il monitoraggio dei deadlock e sys.dm_os_waiting_tasks cercano di garantire che SQL Server non esegua più ricerche di deadlock contemporaneamente. |
DEADLOCK_TASK_SEARCH |
Un tempo di attesa elevato per questa risorsa indica che il server sta eseguendo query su sys.dm_os_waiting_tasks e che tali query bloccano l'esecuzione della ricerca di deadlock nell'ambito del monitoraggio dei deadlock. Questo tipo di attesa viene utilizzato soltanto dalla funzionalità di monitoraggio dei deadlock. Le query su sys.dm_os_waiting_tasks utilizzano 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. |
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, la sessione attenderà l'altra sessione che sta utilizzando la transazione. |
DTC_RESOLVE |
Si verifica quando un'attività di recupero è in attesa del database master in una transazione tra database in modo tale che l'attività possa eseguire 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 lungo indica un blocco imprevisto. È pertanto necessario verificare la sottoattività. |
EC |
Solo per uso interno. |
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 2005. |
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. |
FAILPOINT |
Solo per uso interno. |
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. |
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. |
FT_RESUME_CRAWL |
Solo per uso interno. |
FULLTEXT GATHERER |
Si verifica durante la sincronizzazione delle operazioni full-text. |
HTTP_ENDPOINT_COLLCREATE |
Solo per uso interno. |
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. |
IMP_IMPORT_MUTEX |
Solo per uso interno. |
IMPPROV_IOWAIT |
Si verifica quando SQL Server attende il completamento di un I/O di caricamento di massa. |
INDEX_USAGE_STATS_MUTEX |
Solo per uso interno. |
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_*. |
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 |
Solo per uso interno. |
KTM_RECOVERY_MANAGER |
Solo per uso interno. |
KTM_RECOVERY_RESOLUTION |
Solo per uso interno. |
LATCH_DT |
Si verifica durante l'attesa di un latch di eliminazione (DT). Non include i latch del buffer o i latch di contrassegno di transazione. In sys.dm_os_latch_stats è disponibile un elenco delle attese LATCH_*. Le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate. |
LATCH_EX |
Si verifica durante l'attesa di un latch esclusivo (EX). Non include i latch del buffer o i latch di contrassegno di transazione. In sys.dm_os_latch_stats è disponibile un elenco delle attese LATCH_*. Le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate. |
LATCH_KP |
Si verifica durante l'attesa di un latch conservativo (KP). Non include i latch del buffer o i latch di contrassegno di transazione. In sys.dm_os_latch_stats è disponibile un elenco delle attese LATCH_*. Le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate. |
LATCH_NL |
Solo per uso interno. |
LATCH_SH |
Si verifica durante l'attesa di un latch di condivisione (SH). Non include i latch del buffer o i latch di contrassegno di transazione. In sys.dm_os_latch_stats è disponibile un elenco delle attese LATCH_*. Le attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate. |
LATCH_UP |
Si verifica durante l'attesa di un latch di aggiornamento (UP). Non include i latch del buffer o i latch di contrassegno di transazione. In sys.dm_os_latch_stats è disponibile un elenco delle attese LATCH_*. Le sys.dm_os_latch_stats attese LATCH_NL, LATCH_SH, LATCH_UP, LATCH_EX e LATCH_DT sono raggruppate. |
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 di massa (BU). Per una matrice di compatibilità dei blocchi, vedere sys.dm_tran_locks. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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 |
Solo per uso interno. |
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. |
MIRROR_SEND_MESSAGE |
Solo per uso interno. |
MISCELLANEOUS |
Solo per uso interno. |
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_SYNC_PIPE |
Solo per uso interno. |
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 Microsoft SQL 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 |
Solo per uso interno. |
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 |
Solo per uso interno. |
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. |
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 interruzione ALTER DATABASE. Per ulteriori informazioni, vedere ALTER DATABASE (Transact-SQL). |
QNMANAGER_ACQUIRE |
Solo per uso interno. |
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_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 |
Solo per uso interno. |
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 |
Solo per uso interno. |
RECOVER_CHANGEDB |
Si verifica durante la sincronizzazione dello stato del database in 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. |
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. |
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 Traccia SQL è in attesa che venga completato l'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 un'attività è in attesa del completamento dell'avvio di tempdb. |
SNI_CRITICAL_SECTION |
Si verifica durante la sincronizzazione interna nei componenti di rete di SQL Server. |
SNI_HTTP_ACCEPT |
Solo per uso interno. |
SNI_HTTP_WAITFOR_0_DISCON |
Si verifica durante l'arresto di SQL Server, in attesa della chiusura delle connessioni HTTP in sospeso. |
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_LOCALALLOCATORLIST |
Si verifica durante la sincronizzazione interna nel gestore della memoria di SQL Server. |
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_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 2005. |
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 2005. |
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 2005. |
SOSHOST_SEMAPHORE |
Si verifica quando un componente hosted, ad esempio CLR, è in attesa in un oggetto di sincronizzazione semafori di SQL Server 2005. |
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 un'attività ha richiesto l'accesso esclusivo per eliminazioni di tabelle temp. |
THREADPOOL |
Si verifica quando un'attività è in attesa di un thread di lavoro in cui essere eseguita. 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. |
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 |
Solo per uso interno. |
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. |
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. |
WAITSTAT_MUTEX |
Si verifica durante la sincronizzazione dell'accesso all'insieme di statistiche utilizzato per popolare sys.dm_os_wait_stats. |
WORKTBL_DROP |
Si verifica durante la sospensione che precede un nuovo tentativo dopo un'eliminazione di tabella di lavoro non riuscita. |
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. |
Vedere anche
Riferimento
Funzioni e viste a gestione dinamica
Viste a gestione dinamica relative al sistema operativo di SQL Server
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
14 aprile 2006 |
|
5 dicembre 2005 |
|