BUG
In ArcGIS-Client-Anwendungen kann beim Bearbeiten von nach Verzweigung versionierten Daten, die in einer Enterprise-Geodatabase in SQL Server gespeichert sind, Sperr-, Blockier- bzw. Deadlocking-Verhalten auftreten. Diese Probleme mit Sperrungen führen möglicherweise zu Fehlern bei der Bearbeitung sowie zu eventuellem Verlust der Änderungen.
Eine Blockierung ist eine unvermeidbare und entwurfsbedingte Eigenschaft aller relationalen Datenbankmanagementsysteme (RDBMS) mit sperrenbasierter Parallelität. In SQL Server kommt es zu einer Blockierung, wenn eine Sitzung eine bestimmte Ressource sperrt und eine zweite Sitzung versucht, einen in Konflikt stehenden Sperrtyp für dieselbe Ressource abzurufen. Die Dauer und der Transaktionskontext einer Abfrage bestimmen, wie lange Sperren in Kraft bleiben und welche Auswirkungen sie auf andere Abfragen haben.
Wenn die Abfrage nicht innerhalb einer Transaktion ausgeführt wird (und keine Sperrhinweise verwendet werden), werden die Sperren von SELECT-Anweisungen nur zu dem Zeitpunkt für eine Ressource aufrechterhalten, zu dem sie gelesen wird, und nicht für die Dauer der Abfrage. Bei INSERT-, UPDATE- und DELETE-Anweisungen werden die Sperren für die Dauer der Abfrage aufrechterhalten, sowohl aus Gründen der Datenkonsistenz als auch, um ggf. eine Zurücksetzung der Abfrage zu ermöglichen.
Bei innerhalb einer Transaktion ausgeführten Abfragen wird die Dauer, für die die Sperren aufrechterhalten werden, von dem Abfragetyp, dem Isolationsgrad der Transaktion und davon bestimmt, ob Sperrhinweise in der Abfrage verwendet werden.
ArcGIS-Anwendungen bearbeiten nach Verzweigung versionierte Daten mit Transaktionen und READ COMMITTED SNAPSHOT ISOLATION (RCSI). Die Architektur der Verzweigungsversionierung sieht vor, dass zwei Sitzungen nie dieselbe Zeile innerhalb einer bestimmten Tabelle bearbeiten. Gelegentlich verwendet der SQL Server-Optimierer jedoch Seitensperren anstelle von Zeilensperren oder eskaliert sogar weiter zu einer Tabellensperre.
Treten während der Verwendung von nach Verzweigung versionierten Daten Probleme in Verbindung mit exklusiven Seiten- und Tabellensperren auf, die zu schwerwiegendem Sperr- und Blockierverhalten führen, wenden Sie sich an den technischen Support von Esri. Geben Sie Details zu dem Problem mit der Blockierung an, und erwähnen Sie die Nummer BUG-000138033. Wenn das Sperrverhalten bestätigt wird, kann ein Skript bereitgestellt werden, das Seitensperren und die Sperreskalation für diese Tabellen deaktiviert.
Hinweis: Die Möglichkeit, dass der Fehler 1204 von SQL Server auftritt, nimmt nach der Implementierung dieser Sperrstrategie zu. Dieser weist darauf hin, dass SQL Server zu diesem Zeitpunkt keine LOCK-Ressource abrufen kann. Die Verarbeitung der aktuellen Anweisung wird angehalten, und die Transaktion wird zurückgesetzt. Die Zurücksetzung selbst kann zudem Benutzer sperren oder zu einer langen Wiederherstellungszeit der Datenbank führen, wenn Sie den SQL-Server-Service neu starten.
Hinweis: ALTER INDEX … REORGANIZE wird für Indizes, für die ALLOW_PAGE_LOCKS auf OFF gesetzt ist, nicht unterstützt.
Hinweis: Feature-Classes, die mit ArcGIS Pro 2.8 oder höher als Verzweigungsversion registriert sind, weisen diese Sperrkonfiguration in SQL Server standardmäßig auf. Wenn eine Feature-Class mit früheren Versionen als 2.8 als nach Verzweigung versioniert registriert ist (oder einer nach Verzweigung versionierten Klasse neue Indizes hinzugefügt wurden), muss das oben erwähnte Skript ausgeführt werden, um dieses Zeilensperrschema zu konfigurieren.
Artikel-ID: 000025638
Unterstützung durch ArcGIS-Experten anfordern
Beginnen Sie jetzt mit dem Chatten