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 del buffer: tipo %d, bp %p, pagina %d:%d, stat %#x, ID database: %d, ID unità di allocazione:%I64d%ls, attività 0x%p: %d, attesa %d, flag 0x%I64x, attività proprietaria 0x%p. L'attesa verrà protratta.

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 può essere dovuto a un problema hardware. Quando si verifica questo messaggio di errore, è possibile notare che il computer e SQL Server smette di rispondere.

Causa

Questo messaggio di errore dipende dall'ambiente complessivo del sistema. Le circostanze seguenti potrebbero comportare un sovraccarico del sistema:

  • Hardware che non soddisfa le esigenze di input/output (I/O) e memoria
  • Impostazioni configurate e testate in modo non corretto
  • Progettazione inefficiente

È possibile rilevare l'errore 844 quando il sistema è sottoposto a un carico elevato e non è in grado di 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 compattazione automatica del database

Azione utente

Per evitare che si verifichi questo errore, provare le soluzioni seguenti:

  • Verificare se sono presenti colli di bottiglia dell'hardware. Per iniziare, vedere Individuazione dei 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 dati e file di log nelle unità compresse non è supportata. Vedere Filegroup e file di database. Per altre informazioni sul supporto delle unità compresse, vedere l'articolo seguente: Database SQL Server non supportati 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 il sovraccarico del sistema e di migliorare il tempo di risposta per le singole query

  • Impostare la proprietà AutoShrink su OFF per ridurre il sovraccarico delle modifiche apportate alle dimensioni del database

  • Assicurarsi di impostare la proprietà AutoGrow su incrementi sufficientemente grandi da ridurne la frequenza. Pianificare un processo per controllare lo spazio disponibile nei database e quindi aumentare le dimensioni dei database durante i periodi di attività ridotta.

  • 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, ad esempio di asserzione, risolvere questi problemi

  • Se i messaggi di errore 844 non sono frequenti, è possibile ignorarli