Share via


Sperrverhalten der Datenbank steuern

Wichtig

Dieser Inhalt ist archiviert und wird nicht aktualisiert. Die neueste Dokumentation finden Sie unter Neue und geplante Funktionen in Dynamics 365 Business Central. Die neuesten Veröffentlichungspläne finden Sie unter Dynamics 365-, Power Platform- und Cloud for Industry-Veröffentlichungspläne.

Aktiviert für Öffentliche Vorschauversion Allgemeine Verfügbarkeit
Administrator*innen, Maker*innen, Marketingspezialist*innen, Analyst*innen, automatisch 1. März 2023 1. Apr. 2023

Geschäftswert

Die Sperrung von Datenbanken ist eine der Hauptursachen für Leistungsprobleme. Wenn AL-Code weniger Sperren erfordert, erhöht sich dadurch die Leistung des Systems für die Benutzer*innen.

Details zur Funktion

Standardmäßig ermittelt die Laufzeit von Business Central die beim Abfragen der Datenbank verwendeten Isolationsstufen automatisch. AL-Entwickler*innen können nun die Datenbankisolationsstufe bei einzelnen Lesevorgängen auf einer Datensatzinstanz explizit steuern.

Für den Datensatzdatentyp wurde eine neue ReadIsolation-Methode eingeführt. Die Methode hat folgende Syntax:

rec.ReadIsolation := IsolationLevel::<enum value>

Die Methode kann auch mithilfe der Eigenschaftszugriffssyntax aufgerufen werden.

In der folgenden Tabelle sind die möglichen IsolationLevel-Werte beschrieben:

Wert Beschreibung
Default Folgt der Isolationsstufe der Tabelle für Lesevorgänge; gleiches Verhalten wie bei Nichtfestlegen einer IsolationLevel.
ReadCommitted Ermöglicht das Lesen von nur festgeschriebenen Daten, die von anderen Transaktionen geändert, aber noch nicht festgeschrieben wurden.
ReadUncommitted Ermöglicht dem Datensatz das Lesen von Daten, die von anderen Transaktionen geändert, aber noch nicht festgeschrieben wurden (auch „Dirty Reads“ genannt). Eine ReadUncommitted-Transaktion nimmt keine Sperren vor und ignoriert Sperren von anderen Transaktionen.
RepeatableRead Stellt sicher, dass die Lesevorgänge für die Dauer der aktuellen Transaktion stabil bleiben. Bis die aktuelle Transaktion abgeschlossen ist, kann der Datensatz keine Daten lesen, die geändert, aber noch nicht von anderen Transaktionen festgeschrieben wurden, und andere Transaktionen können keine Daten ändern, die von der aktuellen Transaktion gelesen wurden.
UpdLock Stellt sicher, dass die Lesevorgänge für die Dauer der aktuellen Transaktion konsistent bleiben. Bis die aktuelle Transaktion abgeschlossen ist, kann der Datensatz keine Daten lesen, die geändert, aber noch nicht von anderen Transaktionen festgeschrieben wurden, und andere Transaktionen mit der gleichen Isolationsstufe können keine Daten lesen, die vom Datensatz gelesen wurden.

Siehe auch

Isolationsstufe einer Instanz aufzeichnen (Dokumente)