Wenn der Datenbankserver eine Transaktion bearbeitet, kann er eine oder mehrere Tabellenzeilen sperren. Die Sperren erhalten die Zuverlässigkeit der in der Datenbank gespeicherten Informationen, indem der gleichzeitige Zugriff von anderen Transaktionen verhindert wird. Sie verbessern auch die Genauigkeit der Abfrageergebnisse, indem sie erkennen lassen, welche Daten gerade aktualisiert werden.
Der Datenbankserver setzt diese Sperren automatisch und bedarf keiner expliziten Instruktion. Alle Sperren, die von einer Transaktion gesetzt werden, bleiben aktiv, bis die Transaktion abgeschlossen ist. Die Transaktion, die auf die Zeile zugreift, hält auch die Sperre. Abhängig vom Typ der Sperre haben andere Transaktionen begrenzten Zugriff auf die gesperrte Zeile oder gar keinen.
Die Performance kann leiden, wenn auf eine oder mehrere Zeilen häufig von mehreren Benutzern gleichzeitig zugegriffen wird. Wenn Sie Sperrenprobleme vermuten, können Sie die Prozedur "sa_locks" verwenden, um Informationen über Sperren in der Datenbank zu erhalten. Weitere Hinweise finden Sie unter sa_locks-Systemprozedur.
Wenn Probleme mit Sperren festgestellt werden, können Sie über die Verbindungseigenschaft "AppInfo" Informationen zu den beteiligten Verbindungsprozessen anzeigen. Weitere Hinweise finden Sie unter Verbindungseigenschaften.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |