Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Dettagli
Attributo | Valore |
---|---|
Nome prodotto | SQL Server |
ID evento | 844 |
Origine evento | MSSQLSERVER |
Componente | SQLEngine |
Nome simbolico | BUFLATCH_TIMEOUT_CONTINUE |
Testo del messaggio | Timeout durante l'attesa del latch di buffer: tipo %d, bp %p, pagina %d:%d, stat %#x, ID database: %d, id unità di allocazione: %I64d%ls, attività 0x%p: %d, waittime %d seconds, flag 0x%I64x, attività proprietaria 0x%p. L'attesa verrà protratta. %ls |
Spiegazione
Un processo SQL è in attesa di acquisire un latch. Il problema può essere causato da un'operazione di I/O il cui completamento richiede troppo tempo. Questo tipo di errore in genere è dovuto ad altre attività che bloccano i processi di sistema. In alcuni casi, questo errore potrebbe essere causato da un errore hardware. Quando si verifica questo messaggio di errore, è possibile notare che il computer e SQL Server interrompano la risposta.
Causa
Questo messaggio di errore dipende dall'ambiente complessivo del sistema. Una delle circostanze seguenti potrebbe causare un sistema eccessivo:
- Hardware che non soddisfa le esigenze di input/output (I/O) e memoria
- Impostazioni configurate e testate in modo non corretto
- Progettazione inefficiente
È possibile osservare l'errore 844 quando il sistema è sottoposto a un carico elevato e non può soddisfare le richieste del carico di lavoro. Alcune delle cause più comuni di un ambiente sovraccaricato sono:
- Problemi hardware
- Volumi compressi
- Impostazioni di configurazione di SQL Server non predefinite
- Progettazione inefficiente di query o indice
- Operazioni frequenti di aumento automatico o riduzione automatica del database
Azione dell'utente
Per evitare che si verifichi questo errore, provare le soluzioni seguenti:
Verificare se sono presenti colli di bottiglia dell'hardware. Per un buon punto di partenza, vedere Identificare i colli di bottiglia . Se necessario, aggiornare l'hardware in modo che sia in grado di soddisfare le esigenze di configurazione, query e carico dell'ambiente.
Verificare che tutto l'hardware funzioni correttamente. Controllare gli errori registrati ed eseguire tutti gli strumenti di diagnostica offerti dal fornitore dell'hardware. Verificare la presenza di errori di I/O associati nel log degli errori o nel log eventi. Gli errori di I/O in genere sono dovuti a un malfunzionamento del disco.
Assicurarsi che i volumi dei dischi non siano compressi. L'archiviazione di file di dati e di log in unità compresse non è supportata. Vedere File di database e filegroup. Per altre informazioni sul supporto delle unità compresse, vedere l'articolo seguente: Descrizione del supporto per i database di SQL Server nei volumi compressi
Verificare se i messaggi di errore scompaiono quando si disattivano tutte le opzioni di configurazione di SQL Server seguenti:
Ottimizzare le query per ridurre le risorse utilizzate nel sistema. L'ottimizzazione delle prestazioni consente di ridurre lo stress in un sistema e di migliorare il tempo di risposta per le singole query
Impostare la proprietà autoshrink su OFF per ridurre il sovraccarico delle modifiche alle dimensioni del database
Assicurarsi di impostare la proprietà autogrow per incrementare le dimensioni sufficienti per essere poco frequenti. Pianificare un processo per controllare lo spazio disponibile nei database e quindi aumentare le dimensioni del database durante le ore di minore attività.
Controllare nel log degli errori la presenza di attività che non cedono la precedenza e di altri errori critici. Risolvere prima questi errori, perché potrebbero puntare alla causa radice del problema sottostante.
Se si verificano spesso errori critici, come le asserzioni, risolvere questi problemi.
Se i messaggi di errore 844 non sono frequenti, è possibile ignorare gli errori.