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 » Funktionsweise von Sperren

 

Sperrenkonflikte

SQL Anywhere verwendet Schema-, Zeilen-, Tabellen und Positionssperren nach Bedarf, um die verlangte Konsistenzstufe zu gewährleisten. Sie müssen die Verwendung einer bestimmten Sperre nicht explizit anfordern. Stattdessen legen Sie die Konsistenzstufe fest, die durch Auswählen der für diese Anforderung am besten geeigneten Isolationsstufe eingehalten wird. Die Kenntnis der einzelnen Sperrentypen hilft Ihnen bei der Wahl der Isolationsstufe und beim Verständnis für die Auswirkungen auf die Performance. Denken Sie daran, dass eine Transaktion sich nicht selbst durch das Setzen von Sperren blockieren kann. Ein Sperrenkonflikt kann lediglich zwischen zwei oder mehreren Transaktionen auftreten.

Im Allgemeinen tritt ein Sperrenkonflikt auf, wenn eine Transaktion versucht, eine Exklusivsperre für eine Zeile zu setzen, an der eine andere Transaktion eine Sperre hält, oder versucht, eine gemeinsame Sperre für eine Zeile zu setzen, in der eine andere Transaktion eine Exklusivsperre hält. Die Transaktion muss warten, bis eine andere Transaktion abgeschlossen ist. Die Transaktion, die warten muss, wird von einer anderen Transaktion blockiert.

Wenn der Datenbankserver einen Sperrenkonflikt erkennt, der verhindert, dass eine Transaktion sofort abläuft, kann er entweder die Ausführung der Transaktion aussetzen, oder die Transaktion beenden, Änderungen zurücksetzen und einen Fehler zurückgeben. Sie kontrollieren den Vorgang, indem Sie die Option "blocking" einstellen. Wenn die Option "blocking" auf On gesetzt ist, wartet die zweite Transaktion.

 Konflikte bei Sperren
 Siehe auch