Skip to main content
Wenn bei der Verwendung des Programms SQL-Datenbank-Deadlocks auftreten, aktivieren Sie mithilfe des Extended Events-Systems die Protokollierung von Deadlock-Informationen.

Eine XEvents-Sitzung erstellen

Erstellen Sie die Sitzung mit dem Assistenten in SQL Server Management Studio:
  1. Starten Sie den Assistenten für neue Sitzungen im Object Explorer unter Management → Extended Events → Sessions.
    Screenshot von SQL Server Management Studio beim Starten des Assistenten für neue Sitzungen im Object Explorer unter Management, Extended Events, Sessions.
  2. Geben Sie einen Namen für Ihre Sitzung an. Damit sie beim Start des Servers automatisch gestartet wird, wählen Sie die Option Start the event session at server startup aus.
    Screenshot des Assistenten für neue Sitzungen mit eingegebenem Sitzungsnamen und ausgewählter Option Start the event session at server startup.
  3. Suchen Sie im Abschnitt Select Events To Capture nach xml_deadlock_report.
    Screenshot des Schritts Select Events To Capture im Assistenten für neue Sitzungen mit ausgewähltem xml_deadlock_report.
  4. Geben Sie im Abschnitt Specify Session Data Storage den Pfad zu dem Speicherort an, an dem die Datei mit den aufgezeichneten Sitzungsergebnissen gespeichert wird. Die Option Enable file rollover aktiviert die automatische Dateirotation im angegebenen Verzeichnis.
  5. Im Abschnitt Zusammenfassung können Sie die Sitzungsergebnisse des Assistenten in T-SQL öffnen und speichern.

Deadlock-Informationen anzeigen

Aus der XEvents-Sitzung

Zum Lesen von .xel-Dateien stellt SQL Server die tabellenwertige Funktion sys.fn_xe_file_target_read_file bereit. Führen Sie die folgende Abfrage in SQL Server Management Studio aus und geben Sie dabei den Pfad zu den Ablaufverfolgungsdateien an:

Über die system_health-Sitzung

Wenn die Deadlock-Protokollierung nicht aktiviert ist, können Sie Deadlock-Informationen über die system_health-Sitzung anzeigen, die standardmäßig immer aktiviert ist. Führen Sie die folgende Abfrage in SQL Server Management Studio aus:

In Azure

In Azure gibt es standardmäßig eine separate Sitzung, die im Blobspeicher gespeichert wird. Um sie anzuzeigen, führen Sie die folgende Abfrage im Masterkontext aus:
Nachdem Sie die Abfrage ausgeführt haben, wenden Sie sich an den technischen Support und übermitteln Sie die Deadlock-Informationen aus dem Abfrageergebnis.