MSSQLSERVER_845

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen)

Details

attribute Wert
Produktname SQL Server
Ereignis-ID 845
Ereignisquelle MSSQLSERVER
Komponente SQLEngine
Symbolischer Name BUFLATCH_TIMEOUT
Meldungstext Timeout beim Warten auf Pufferlatchtyp %d für Seite %S_PGID, Datenbank-ID %d.

Erklärung

Ein Prozess hat auf die Beschaffung eines Latchs gewartet, aber für den Prozess wurde so lange gewartet, bis das Zeitlimit abgelaufen und die Beschaffung nicht mehr möglich war. Dies kann auftreten, wenn das Ausführen eines E/A-Vorgangs zu lange dauert, was normalerweise daraus resultiert, dass Systemprozesse durch andere Tasks blockiert werden. In manchen Fällen kann dieser Fehler auch das Ergebnis eines Hardwarefehlers sein.

Ursache

Diese Fehlermeldung hängt von der allgemeinen Umgebung Ihres Systems ab. Jeder der folgenden Umstände kann zu einem überbeanspruchten System führen:

  • Hardware, die Ihre Anforderungen an E/A (Eingabe/Ausgabe) und Arbeitsspeicher nicht erfüllen kann
  • Fehlerhaft konfigurierte und getestete Einstellungen
  • Ineffizienter Entwurf

Möglicherweise tritt der Fehler 845 auf, wenn Ihr System stark ausgelastet ist und die Arbeitsauslastungsanforderungen nicht erfüllen kann. Einige der häufigsten Gründe für eine überbeanspruchte Umgebung sind die folgenden:

  • Hardwareprobleme
  • Komprimierte Volumes
  • SQL Server-Konfigurationseinstellungen, die nicht den Standardwerten entsprechen
  • Ineffiziente Abfragen oder ineffizienter Indexentwurf
  • Häufige AutoGrow- oder AutoShrink-Datenbankvorgänge

Benutzeraktion

Versuchen Sie Folgendes, um zu verhindern, dass der Fehler erneut auftritt:

  • Ermitteln Sie, ob Hardwareengpässe vorliegen. Unter Identifizieren von Engpässen erhalten Sie Informationen hierzu. Führen Sie, wenn erforderlich, ein Upgrade für Ihre Hardware durch, damit sie die Anforderungen der Konfiguration Ihrer Umgebung, Ihrer Abfragen und der Auslastung erfüllen kann.

  • Überprüfen Sie, ob alle Hardwarefunktionen fehlerfrei funktionieren. Überprüfen Sie alle protokollierten Fehler, und führen Sie alle von Ihrem Hardwarehersteller bereitgestellten Diagnosen aus. Führen Sie eine Überprüfung auf zugehörige E/A-Fehler im Fehlerprotokoll oder Ereignisprotokoll aus. E/A-Fehler deuten normalerweise auf eine Datenträgerfehlfunktion hin.

  • Sorgen Sie dafür, dass Ihre Datenträgervolumes nicht komprimiert sind. Das Speichern von Daten sowie Protokolldateien für komprimierte Laufwerke werden nicht unterstützt. Weitere Informationen hierzu finden Sie unter Datenbankdateien und Dateigruppen. Weitere Informationen zur Unterstützung komprimierter Laufwerke finden Sie im folgenden Artikel: Beschreibung der Unterstützung für SQL Server-Datenbanken auf komprimierten Laufwerken

  • Überprüfen Sie, ob die Fehlermeldungen nicht mehr angezeigt werden, wenn Sie alle der folgenden SQL Server-Konfigurationsoptionen deaktivieren:

  • Optimieren Sie die Abfragen, um die für das System verwendeten Ressourcen zu reduzieren. Durch Leistungsoptimierung kann die Belastung für ein System reduziert und die Reaktionszeit für einzelne Abfragen verbessert werden.

  • Legen Sie die AutoShrink-Eigenschaft auf OFF fest, um den Aufwand für Änderungen an der Datenbankgröße zu verringern.

  • Stellen Sie sicher, dass Sie die AutoGrow-Eigenschaft auf Inkremente festlegen, die groß genug sind und somit nicht häufig auftreten. Planen Sie einen Auftrag, um den verfügbaren Speicherplatz in den Datenbanken zu überprüfen, und erhöhen Sie dann die Datenbankgröße außerhalb der Spitzenzeiten.

  • Überprüfen Sie das Fehlerprotokoll auf Tasks, die kein Ergebnis bereitstellen, sowie auf andere kritische Fehler. Beheben Sie diese Fehler zunächst, da sie auf die Grundursache des zugrunde liegenden Problems hindeuten könnten.

  • Wenn kritische Fehler, z. B. Assert-Vorgänge, häufig auftreten, beheben Sie diese Probleme.

  • Wenn 845-Fehlermeldungen selten auftreten, können Sie sie ignorieren.