Condividi tramite


MSSQLSERVER_844

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.