SQL Server-Betrieb

SQL-Server-Blocking, Wartezeiten und der Head Blocker

Eine lange Liste blockierter Sitzungen lässt jede Abfrage verdächtig erscheinen. Meist bestimmt eine Transaktion am Anfang der Kette Dauer und Auswirkung.

SQL-Server-Blocking, Wartezeiten und der Head Blocker

Eine lange Liste blockierter Sitzungen lässt jede Abfrage verdächtig erscheinen. Meist bestimmt eine Transaktion am Anfang der Kette Dauer und Auswirkung.

Was gemessen werden sollte

Erfassen Sie Blocking-Kette, Wartetyp, Ressource, Transaktionsbeginn, offene Anweisung, Isolationsstufe, Anwendung und aktuellen Plan. Trennen Sie Sperrwartezeiten von CPU, I/O, Speicher und Parallelität.

Praktisches Vorgehen

Finden Sie den Head Blocker vor dem Beenden nachgelagerter Sitzungen, klären Sie die offene Transaktion, verkürzen Sie deren Umfang, verbessern Sie begründete Zugriffspfade und erkennen Sie verwaiste Transaktionen.

Was vermieden werden sollte

Beenden Sie nicht alle blockierten Sitzungen, lesen Sie kumulative Wartezeiten nicht ohne Zeitfenster und nutzen Sie NOLOCK nicht ohne Akzeptanz falscher Ergebnisse.

Betriebliches Ergebnis

Eine gute Reaktion stellt den Dienst wieder her und bewahrt genügend Nachweise zur Vermeidung einer Wiederholung.

Checkliste für die Produktion

Erfassen Sie eine Ausgangsbasis und definieren Sie die erwartete Verbesserung. Testen Sie mit repräsentativen Daten und realistischer Parallelität. Sichern Sie die ursprüngliche Einstellung oder den Plan, bereiten Sie einen Rollback vor und überwachen Sie die nächste normale Lastspitze.

Wenn Sie diese Methode auf eine konkrete SQL-Server-Umgebung anwenden möchten, nutzen Sie das Frageformular unten und nennen Sie SQL-Server-Version, Datenbankgröße, Lastprofil und bereits erfasste Nachweise.

Frage zu diesem Artikel

Haben Sie eine Frage zu diesem Thema?

Beschreiben Sie, was Sie bewerten oder wo Sie nicht weiterkommen. Wir antworten mit einer praktischen Empfehlung.

Inquiries are not enabled in this preview.

Eine Frage zu diesem Artikel stellen