Natürlich kann man nicht alle Fehler vorhersehen. Aber schön wäre es schon.
Dein Fall den du beschreibst ist kein DeadLock.
Ein DeadLock funktioniert etwa wie eine "Endlosschleife" (vereinfachtes Beispiel):
Aktion 1 verändert DS 1 (Lock)
dadurch muss auch DS 2 geändert werden, ist aber noch nicht passiert.
Aktion 2 verändert DS 2 (Lock)
Diese veranlasst eine Änderung in DS 1 (LockWait)
Die durch Aktion 1 vernlasste Änderung versucht DS 2 zu sperren (LockWait)
Folge:
Aktion 1 wartet auf Aktion 2 und ungekehrt. Das ist ein DeadLock.
D.h.: Solche Sperren (Lock) können nur durch ihren Tod (Dead) aufgelöst werden.
Bei dir handelt es sich um ein "einfaches" Lock-Problem. Oder du hast dein Problem unvollständig geschildert. DeadLocks müssen vom Programm verhindert werden. Da gibt es keine andere Wahl. Wenn es doch mal passiert, muss das Programm korrigiert werden.
Dein Problem kannst du vermutlich durch eine Einstellung bei
FB oder den Zugriffskomponenten beheben. Bei
FB bin ich aber nicht der Spezi, kann dir also nicht sagen wo. Aber normalerweise gibt es Einstellungen, die das Verhalten für diesen Fall beeinflussen (z.B.: ignorieren, überschreiben, abbrechen)
Ich persönlich würde die Kontrolle aber nicht aus der Hand geben und im Programm prüfen, ob und welcher Fall vorliegt. Die Vorgehensweise habe ich oben schon beschrieben. Ob die Änderungen durch ein Update-Statement oder durch einen Anwender entsteht, ist dabei nebensächlich.