Hallo zusammen,
erst mal Danke für die zahlreichen Tips.
Vielleicht doch nochmal den Aufbau.
Es gibt ca. 100 Messstationen mit jeweils einer lokalen Oracle
DB.
Diese müssen auch im Fall eines Serverausfalls autark laufen (messen) können.
Die Messmethoden und Messläufe liegen zentral für alle Stationen auf einem
MSSQL 2012 Server.
Ein User erstellt bzw. editiert auf dem zentralen Server seine Methoden und Läufe.
Nach dem Speichern werden diese sofort an den lokalen Client repliziert und kann dort auf der loklen Oracle gefahren(gemessen) werden.
Die gemessenen Daten werden dann wieder nach "oben" auf den zentralen
MSSQL Server repliziert.
Eigentlich bearbeitet jeder User "seinen" Bereich der Daten auf den
MSSQL Server.
Die Replikation der Daten in beide Richtungen läuft als Windows Service jeweils auf den einzelnen Clients.
Jetzt kommt es öfter vor daß verschiedene Tabellen gelockt sind und dann ein [
SQL Server Native Client 11.0][
SQL Server] Lock request time out period exceeded] auftritt.
Wenn der ReplikationsDienst einen Datensatz übertragen soll, sucht und löscht er diesen anhand des PK (
GUID) und schreibt dann den Datensatz neu in die Ziel
DB.
Kann es sein dass das Löschen eines Datensatzes einen Lock für die gesamte Tabelle auslöst und dann andere Clients blockiert ?
Danke für eure Hinweise !