Kapitel 8. Sperren, Blockieren und Gleichzeitigkeit
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
SQL Server verwendet Sperren, um die Anforderungen an die Transaktionskonsistenz und die Datenisolierung zu erfüllen. Sperren verhindern, dass mehrere aktive Transaktionen dieselben Daten aktualisieren; sie reduzieren oder beseitigen sogar Datenkonsistenzphänomene wie schmutzige, nicht wiederholbare und Phantomlesevorgänge (mehr dazu später).
Das Gleichzeitigkeitsmodell von SQL Server mag auf den ersten Blick verwirrend erscheinen, aber es ist ziemlich logisch und leicht zu verstehen, wenn du die Grundlagen verstanden hast. Dieses Kapitel bietet einen Überblick über die interne Funktionsweise des Modells und gibt Hinweise zur Behebung von Blockierungen und Deadlocks.
Ich beginne mit einem Überblick über die wichtigsten Sperrtypen von SQL Server und wie sie sich bei verschiedenen Transaktionsisolierungsstufen verhalten. Ich erkläre, warum Blockierungen und Deadlocks auftreten und wie man damit umgeht. Als Nächstes gehe ich auf andere gängige Aspekte von Sperren ein, z. B. Lock Escalation und optimistische Gleichzeitigkeit. Abschließend werde ich auf sperrungsbedingte Wartetypen und typische Strategien zur Fehlerbehebung eingehen.
Bevor ich beginne, noch ein Wort der Warnung: Dieses Kapitel konzentriert sich auf das Sperrverhalten in klassischen plattenbasierten B-Tree-Tabellen. Es befasst sich ...
Get SQL Server Erweiterte Fehlersuche und Leistungsoptimierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.