Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Transaktionen und Isolationsstufen » Transaktion blockieren und Deadlock » Transaktion blockieren » Deadlocks

 

Wie Sie ermitteln, was in einem Deadlock blockiert ist

Sie können die Systemprozedur sa_conn_info verwenden, um zu ermitteln, welche Verbindungen in einem Deadlock blockiert sind. Diese Prozedur gibt eine Ergebnismenge zurück, die aus einer Zeile für jede Verbindung besteht. Eine Spalte der Ergebnismenge listet auf, warum die Verbindung blockiert und mit welcher Verbindung diese Blockierung eingetreten ist. Die Ergebnismenge gibt an, ob eine Verbindung blockiert ist, und welche Verbindung sie blockiert.

Sie können auch ein Deadlock-Ereignis verwenden, um Aktionen durchzuführen, wenn der Deadlock eintritt. Der Event-Handler kann mit der Prozedur sa_report_deadlock Informationen über die Bedingungen erhalten, die zum Deadlock geführt haben. Um weitere Details über den Deadlock vom Datenbankserver abzurufen, verwenden Sie die Option log_deadlocks und die Funktion RememberLastStatement.

Das folgende Beispiel zeigt, wie Sie ein Tabellen- und Systemereignis einrichten, das verwendet werden kann, um Informationen über Deadlocks bei ihrem Auftreten zu beziehen. Wenn bei Ihrer Anwendung häufig Deadlocks auftreten, können Sie die Anwendungsprofilerstellung verwenden, um die Ursache von Deadlocks zu diagnostizieren.

 Beispiel: Einleiten von Aktionen bei Deadlocks
 Siehe auch