La tabella
master.dbo.sysprocesses Microsoft SQL Server 2000 e SQL Server 2005 è una tabella di sistema che contiene informazioni sul processo ASP ID (SPID) che eseguono SQL Server.
Se si utilizza SQL Server 2005, è possibile accedere anche in questa tabella utilizzando la visualizzazione di compatibilità
sys.sysprocesses .
La colonna
waittype , la colonna
lastwaittype , la colonna
waittime e la colonna
waitresource nella tabella di sistema
master.dbo.sysprocesses fornite informazioni sulle risorse che i processi in attesa.
In questo articolo sono elencati i valori possibili lastwaittype, i valori associati waittype e una breve descrizione del loro significato.
La tabella di sistema di
master.dbo.sysprocesses è memorizzata nel database
master dell'istanza di SQL Server contiene le colonne seguenti che consentono di monitorare i processi per scenari di contesa di risorse e i problemi di blocco l'amministratore di sistema:
- waittype : il campo di waittype è una colonna binaria interna riservata. Il valore nel campo waittype indica il tipo di risorsa che la connessione è in attesa.
- lastwaittype : il campo lastwaittype è una rappresentazione di stringa del campo waittype . Il campo lastwaittype indica il waittype l'ultimo o il waittype corrente di uno SPID. Se il valore della colonna waittype per un SPID è 0 x 0000, lo SPID non attualmente in attesa su qualsiasi risorsa. In questo caso, la colonna di lastwaittype indica l'ultima waittype che lo SPID è stato rilevato. Tuttavia, se il valore della colonna waittype per un SPID è diverso da zero, i valori nella colonna lastwaittype e la colonna waittype dello SPID sono uguali. Questi valori indicano lo stato di attesa corrente per lo SPID.
Nota Il waittype UMSTHREAD è un'eccezione a questa regola. Vedere la descrizione di UMSTHREAD nella sezione "Altri waittypes" per ulteriori informazioni. - waittime : la colonna waittime fornisce il numero di millisecondi che lo SPID è stato in attesa con il waittype corrente.
- waitresource : la colonna waitresource fornisce ulteriori informazioni sulla risorsa specifica che lo SPID è in attesa.
Le sezioni successive di questo articolo descrivono alcune del waittypes supportati da SQL Server e che spesso vengono registrati nella tabella di sistema
master.dbo.sysprocesses .
BLOCCO waittypes
Nella tabella seguente sono elencati il waittypes blocco nella tabella di sistema
master.dbo.sysprocesses in SQL Server 2000 e SQL Server 2005.
Riduci questa tabellaEspandi questa tabella
| Lastwaittype | Waittype | Descrizione |
|---|
| LCK_M_SCH_S | 0 x 01 | Stabilità dello schema |
| LCK_M_SCH_M | 0 x 02 | Modifica dello schema |
| LCK_M_S | 0 x 03 | Condivisione |
| LCK_M_U | 0 x 04 | Aggiornamento |
| LCK_M_X | 0 x 05 | Esclusivo |
| LCK_M_IS | 0 x 06 | Condivisione di scopo |
| LCK_M_IU | 0 x 07 | Tipo di aggiornamento |
| LCK_M_IX | 0 x 08 | Esclusivo di scopo |
| LCK_M_SIU | 0 x 09 | Condivisa intento di aggiornamento |
| LCK_M_SIX | 0x0A | Condivisione-tipo-esclusivo |
| LCK_M_UIX | 0x0B | Tipo di aggiornamento-esclusivo |
| LCK_M_BU | 0x0C | Aggiornamento di massa |
| LCK_M_RS_S | 0x0D | Condivisione di condivisione di intervallo |
| LCK_M_RS_U | 0x0E | Aggiornamento di condivisione di intervallo |
| LCK_M_RI_NL | 0x0F | Intervallo-Inserisci NULL |
| LCK_M_RI_S | 0 x 10 | Intervallo Inserisci condivise |
| LCK_M_RI_U | 0 x 11 | Inserisci intervallo-Aggiorna |
| LCK_M_RI_X | 0 x 12 | Intervallo-Inserisci esclusivo |
| LCK_M_RX_S | 0 x 13 | Intervallo esclusivo condiviso |
| LCK_M_RX_U | 0 x 14 | Intervallo esclusivo-aggiornamento |
| LCK_M_RX_X | 0x15 | Intervallo esclusivo-esclusivo |
Per ulteriori informazioni sui tipi di blocco che sono supportate in SQL Server 2000 e SQL Server 2005, vedere i seguenti argomenti nella documentazione in linea di SQL Server:
- Informazioni sui blocchi in SQL Server
- Bloccare la compatibilità
Inoltre, se un SPID è in attesa waittypes il blocco e il valore corrispondente nella colonna
waittime registrato nella tabella di sistema
master.dbo.sysprocesses è molto elevato, è necessario risolvere i problemi di blocchi per l'istanza di SQL Server.
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
224453
(http://support.microsoft.com/kb/224453/
)
Comprensione e la risoluzione di SQL Server 7.0 o 2000 problemi di blocco
LATCH waittypes
Un latch è un oggetto di sincronizzazione leggero a breve termine. Nell'elenco riportato di seguito vengono descritti i diversi tipi di latch:
- latch di buffer non (non-BUF) : il latch di buffer non forniscono servizi di sincronizzazione delle strutture di dati in memoria o fornire protezione re-entrancy per righe di codice sensibili alla concorrenza. È possibile utilizzare questi latch per numerose operazioni, ma non vengono utilizzate per sincronizzare l'accesso alle pagine di buffer.
- latch di buffer (BUF) : il latch di buffer consentono di sincronizzare l'accesso a BUF strutture e le pagine di database associato. Il buffer tipica a scatto si verifica durante le operazioni che richiedono la serializzazione in una pagina di buffer (durante la divisione di pagina o durante l'allocazione di una nuova pagina, ad esempio). Questi latch non vengano mantenute per tutta la durata di una transazione. Questi sono indicati nella tabella master.dbo.sysprocesses dal waittypes PAGELATCH.
Per ulteriori informazioni su uno dei possibili cause di contesa di latch BUF, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato: 328551
(http://support.microsoft.com/kb/328551/
)
FIX: Concorrenza miglioramenti per il database tempdb
- latch di I/O : latch di I/O sono un sottoinsieme di latch BUF che vengono utilizzati quando il buffer e la pagina di dati associato o la pagina di indice è all'interno di un I/O operazione. PAGEIOLATCH waittypes vengono utilizzati per i trasferimenti disco alla memoria e un significativo waittime per questi waittypes suggerisce i problemi di sottosistema di I/O di disco.
Nella tabella seguente sono elencati il waittypes latch diversi che è possibile notare nella tabella di sistema
master.dbo.sysprocesses in SQL Server 2000 e SQL Server 2005.
Riduci questa tabellaEspandi questa tabella
| Lastwaittype | Waittype | Descrizione |
|---|
| LATCH_NL | 0 x 400 | Latch null |
| LATCH_KP | 0x401 | Mantenere latch |
| LATCH_SH | 0x402 | Latch condivisa |
| LATCH_UP | 0x403 | Latch di aggiornamento |
| LATCH_EX | 0x404 | Latch esclusivo |
| LATCH_DT | 0x405 | Eliminare il latch |
| PAGELATCH_NL | 0x410 | Latch pagine di buffer null |
| PAGELATCH_KP | 0x411 | Mantenere latch di buffer di pagina |
| PAGELATCH_SH | 0x412 | Condivisa latch di buffer di pagina |
| PAGELATCH_UP | 0x413 | Latch pagine di buffer di aggiornamento |
| PAGELATCH_EX | 0x414 | Latch di pagina esclusivo buffer |
| PAGELATCH_DT | 0x415 | Eliminazione di latch di buffer di pagina |
| PAGEIOLATCH_NL | 0x420 | Latch di I/O di pagina di buffer null |
| PAGEIOLATCH_KP | 0x421 | Mantenere latch di buffer di I/O di pagina |
| PAGEIOLATCH_SH | 0x422 | Condivisa latch di buffer di I/O di pagina |
| PAGEIOLATCH_UP | 0x423 | Aggiornamento di latch di buffer di I/O di pagina |
| PAGEIOLATCH_EX | 0x424 | Latch di I/O di pagina esclusivo buffer |
| PAGEIOLATCH_DT | 0x425 | Eliminazione di latch di buffer di I/O di pagina |
Iniziando con SQL Server 2000 SP4, la colonna waitresource latch di buffer di non più comuni, il Latch_XX latch, viene popolato utilizzando i valori nella tabella seguente. Prima di SQL Server 2000 SP4, si è verificato alcun modo per determinare il motivo che il latch di buffer di non sono stati mantenuti senza ulteriori diagnostica invasiva, ad esempio un userdump. Il waittype il waitresource deve essere visualizzare o utilizzando il waittime. Il waittime specifica in millisecondi, quanto tempo il thread è stato in attesa.
Riduci questa tabellaEspandi questa tabella
| waitresource | Descrizione | risoluzione dei problemi |
| FCB FGCB_ALLOC | Questi latch Latch_XX vengono mantenuti quando le pagine sono allocate da un file, sia un extent uniforme o misto. Latch inoltre vengono mantenuti durante operazioni di allocazione, quali l'aumento delle dimensioni e compattazione di un file, ridenominazione o eliminazione di un file o l'aggiunta o rimozione di un file. | Determinare se i file sono riduzione o aumento delle dimensioni. A partire da SQL Server 2000 SP4, l'opzione di aumento di dimensioni automatico viene registrato nel log degli errori se sono necessari più di 30 secondi. In teoria, l'opzione di aumento di dimensioni automatico deve essere utilizzata come una copia di backup, ed è necessario utilizzare prudente la pianificazione evitare la penalità del runtime di aumento delle dimensioni del file della capacità. È inoltre possibile modificare il valore di aumento automatico delle dimensioni predefinite del 10 % su una dimensione fissa. Non è consigliabile utilizzare la compattazione automatica in produzione. I file in questo filegroup possono inoltre emissione molte richieste di allocazioni. È possibile aggiungere più file di quel filegroup. |
| TRACCIA TRACE_CONTROLLER TRACE_IO_SYNC | Questi latch Latch_XX vengono mantenuti per scopi di sincronizzazione nelle operazioni di traccia di profiler. Operazioni Sychronization includono avvio, arresto, impostando lo stato della traccia e sincronizzazione i lettori e writer. | Consente di identificare eventuali tracce di profiler che eseguono. Provare a evitare l'esecuzione più di una traccia di profiler nello stesso momento. Quando viene avviata una traccia di profiler, la traccia viene registrata nel registro eventi dell'applicazione. Inoltre, è possibile utilizzare la seguente query in SQL Query Analyzer per visualizzare le tracce attive. SELECT * FROM ::fn_trace_getinfo(NULL) |
| PARALLEL_PAGE_SUPPLIER | Questi latch Latch_XX vengono utilizzati per la sincronizzazione il recupero di pagine per una query parallela. Questo tipo di latch indica che la query viene eseguito in parallelo e potrebbe essere normale. | Ottimizzare la query se la colonna waittime un valore elevato e la query scadenti. |
| IDES | Il waitresource latch IDES viene utilizzato quando la pagina PFS viene analizzata per individuare lo spazio libero e quando la pagina PFS viene aggiornata per riflettere le allocazioni e deallocations delle pagine. Questo tipo di latch viene utilizzato anche quando singole pagine sono allocate a un oggetto esistente. | Stabilire se si dispone di un indice cluster per l'oggetto in questione. |
Altri waittypes
Nella tabella seguente sono elencate le altre waittypes che è possibile notare nella tabella di sistema
master.dbo.sysprocesses in SQL Server 2000 e SQL Server 2005.
Riduci questa tabellaEspandi questa tabella
| Lastwaittype | Waittype | Descrizione |
|---|
| SOSPENSIONE | 0 x 20 | Questo waittype indica che lo SPID è in attesa di un periodo di tempo specificato e che è uno stato comune per il thread in background che elaborano il lazywrites, i punti di arresto o gli eventi di traccia di profiler lato server. |
| IO_COMPLETION | 0 x 21 | Questo waittype indica che lo SPID è in attesa di richieste di I/O per il completamento. Quando si nota questo waittype per un SPID nella tabella di sistema sysprocesses , è necessario identificare i colli di bottiglia disco utilizzando i contatori di monitoraggio delle prestazioni, traccia di profiler, la funzione fn_virtualfilestats di sistema con valori di tabella e l'opzione di SHOWPLAN per analizzare i piani di query che corrispondono allo SPID. È possibile ridurre questo waittype aggiungendo ulteriore larghezza di banda I/O o di bilanciamento del carico I/O in altre unità. È inoltre possibile ridurre I/O utilizzando indicizzazione, cercare i piani di query non valida e cercare di pressione della memoria. |
| ASYNC_IO_COMPLETION | 0 x 22 | Questo waittype indica che lo SPID è in attesa per le richieste I/O asincrone per il completamento. Analogamente a waittype IO_COMPLETION, questo waittype indica inoltre un I/O collo di bottiglia. Questo waittype per gli SPID potrebbe essere visualizzato durante le operazioni di i/o a esecuzione prolungata, ad esempio BACKUP, DATABASE CREATE, ALTER DATABASE o l'aumento automatico del database. Questo waittype può anche indicare colli di bottiglia dei dischi. |
| RESOURCE_SEMAPHORE | 0 x 40 | Questo waittype indica che lo SPID è in attesa su una risorsa. Gli SPID in questo caso, in genere attendere per acquisire la memoria per l'ordinamento e l'operazione di hashing durante l'esecuzione della query. Questo waittype può anche indicare che la memoria pressione esiste nella parte visibile del pool di buffer. |
| DTC | 0 x 41 | Questo waittype indica che lo SPID è in attesa su Microsoft Distributed Transaction Coordinator servizio (ms). |
| OLEDB | 0 x 42 | Questo waittype indica che un SPID ha eseguito una chiamata a un provider OLE DB di funzione e che è in attesa che la funzione restituisce i dati richiesti. Questo waittype può anche indicare che lo SPID è in attesa di chiamate di procedura remota o query del server collegato restituire i dati richiesti. Lo SPID potrebbe inoltre essere in attesa per BULK INSERT comandi o le query di ricerca completa per restituire i dati necessari.
Il waittype di OLE DB utilizzato per indicare più diversi attendere gli stati, tra cui: collegato server query, query di ricerca full-text, i comandi di BULK INSERT, le tracce di Profiler lato client, materializzazione di tabelle virtuali, come la tabella sysprocesses, agente di lettura log e DBCC CHECKDB. |
| RESOURCE_QUEUE | 0 x 44 | Si tratta di uno stato di ? inattività ? normale per il thread in background in SQL Server. |
| ASYNC_DISKPOOL_LOCK | 0x45 | È possibile notare questo waittype durante le operazioni di i/o di a esecuzione prolungata ad esempio creazione, espansione o l'eliminazione di un file di database. |
| UMSTHREAD | 0 x 46 | Questo waittype indica che un batch è stato ricevuto da un'applicazione client ma che non vi siano nessun thread di lavoro disponibili soddisfare la richiesta. Se viene visualizzato in modo coerente 0x0046 waittypes SPID più, è un collo di bottiglia significativo altrove nel sistema che utilizza tutti i thread di lavoro disponibili. (Si noti che la colonna waittime è sempre 0 per il waittype UMSTHREAD e nella colonna di lastwaittype erroneamente è possibile che a visualizzato il nome di un waittype diverso anziché UMSTHREAD." |
| WRITELOG | 0 x 81 | Questo waittype indica che lo SPID è in attesa di una richiesta di I/O del log delle transazioni di completamento. Questo waittype può anche indicare un collo di bottiglia disco possibili. |
PSS_CHILD SCAMBIO CXPACKET | 0x101 0 x 200 0x208 | Questi waittypes si articola tutti in esecuzione parallela di query. Questi waittypes indicano che lo SPID è in attesa su un processo parallelo per completare o avviare. |
| PAGESUPP | 0x209 | Questo waittype registra il tempo di attesa che si verifica a causa della serializzazione richiesta nella loro distribuzione righe ai chiamanti di più di una scansione parallela. |
| CURSORE | 0x20C | Questo waittype indica che lo SPID fa parte di sincronizzazione dei thread mentre utilizza asincroni di cursori. Il sp_configure ? cursorthreshold ? impostazione di configurazione può determinare quando viene creato in modo asincrono un cursore. |
| DBTABLE | 0x202 | Questo waittype indica che un thread in attesa di eseguire un checkpoint e che un altro thread è l'arresto del database. |
| EC | 0x203 | Questo waittype indica che lo SPID è in attesa di accesso al contesto di esecuzione. |
| TEMPOBJ | 0x204 | Questo waittype indica che lo SPID è in attesa per eliminare un oggetto temporaneo è ancora in uso. |
| XACTLOCKINFO | 0x205 | Questo waittype indica che lo SPID è in attesa per eseguire la manutenzione nel relativo elenco di blocco. |
| LOGMGR | 0x206 | Questo waittype viene utilizzato quando lo SPID tenta di arrestare un database e attende le richieste di I/O del log transazione in sospeso completare. |
| CMEMTHREAD | 0x207 | Questo waittype indica che lo SPID è in attesa di accesso a un oggetto memoria thread-safe. La serializzazione assicura che gli utenti sono allocare o liberare la memoria dall'oggetto memoria, eventuali altri SPID sta tentando di eseguire la stessa attività è necessario attendere e il waittype CMEMTHREAD viene impostata quando gli SPID sono in attesa.
È possibile notare questo waittype in molti scenari. Tuttavia, questo waittype viene registrato più di frequente quando i piani di query ad hoc vengono viene inseriti rapidamente in una cache di routine da molte connessioni diverse per l'istanza di SQL Server. È possibile risolvere il collo di bottiglia limitando i dati che devono essere inseriti o rimossa dalla cache delle procedure, ad esempio, in modo esplicito applicazione di parametri di query in modo che le query possono essere riutilizzate o utilizzando stored procedure dove appropriato. |
| ARRESTO DEL SISTEMA | 0x20A | Questo waittype indica che è stato emesso un comando SHUTDOWN per lo SPID e lo SPID è in attesa per le query attive per il completamento. |
| WAITFOR | 0x20B | Questo waittype indica che lo SPID è inattivo a causa di un WAITFOR DELAY Transact-SQL istruzione. |
| NETWORKIO | 0 x 800 | Questo waittype indica che lo SPID è in attesa per l'applicazione client recuperare i dati prima che lo SPID possa inviare ulteriori risultati all'applicazione client. |
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
244455
(http://support.microsoft.com/kb/244455/
)
Definizione dei campi di waittype e lastwaittype di sysprocesses per SQL Server 7.0
Per ulteriori informazioni sulla tabella
master.dbo.sysprocesses sistema in SQL Server 2000, visitare il sito di Web di Microsoft:
Per ulteriori informazioni sui latch in SQL Server 2000, visitare il sito di Web di Microsoft:
Identificativo articolo: 822101 - Ultima modifica: giovedì 17 maggio 2007 - Revisione: 8.4
Le informazioni in questo articolo si applicano a:
- Microsoft SQL Server 2000 Standard Edition
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Express Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL Server 2005 Enterprise Edition
- Microsoft SQL Server 2005 Workgroup Edition
| kbmt kbsystemdata kbfield kbdatabase kbinfo KB822101 KbMtit |
Traduzione automatica articoliIl presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo:
822101
(http://support.microsoft.com/kb/822101/en-us/
)
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.