Hallo liebe DB-Forum-Community,
ich habe ein Problem auf einem SQL-Server dem ich einfach nicht auf die Schliche komme. Hier zunächst mal eben der Aufbau:
1 MS - SQL-Server 2016 Standard auf einem Windows-Server 2012 im Web
ca. 10 Mobile und stationäre Geräte mit SQL-Express + Access Frontend.
Die Geräte replizieren alle 15 min. (Internetverbindung vorausgesetzt) die Daten mit dem Server.
Klappt auch alles, erreichen alle den Server und replizieren munter vor sich hin.
Das Problem:
Es kommt sehr regelmäßig zu Konflikten bei denen sehr häufig die falschen Datensätze als Gewinner ausgewählt werden. Angepasste Konfliktlöser kommen leider nicht in Frage, da die Clients wie gesagt mit SQL-Express laufen. Der Standardkonfliktlöser (ist ja "spät gewinnt") würde theoretisch auch reichen, wenn er denn richtig "lösen" würde. Häufig ist es aber so, dass auf einem Gerät ein Eintrag gemacht wird, die Replikation findet statt, und der Eintrag wird verworfen, obwohl kein anderes Gerät diesen Datensatz zu diesem Zeitpunkt angefasst hat. Habe schon sämtliche möglichen Ursachen im Frontend analysiert, aber daran liegt es nicht.
Was mich skeptisch macht: wenn es zu einem Konflikt kommt, meldet der Konfliktlöser (sinngemäß): "Der Datensatz wurde sowohl auf [Servername] als auch auf [Gerätename] bearbeitet. Der Konfliktlöser hat [Servername] als Gewinner ausgewählt." Es kommt nie der Hinweis, dass ein Konflikt zwischen zwei Geräten stattgefunden hat, sondern immer zwischen einem Gerät und dem Server selbst.
Kann es eventuell sein, dass auf dem Server regelmäßig irgendwelche Standardroutinen laufen, die einen Update-Vorgang auslösen? Der Server enthält auf jeden Fall keine selbst programmierten SPs oder Trigger, ist wirklich nur eine reine Datenschleuder ohne irgendwelche Logik.
Ich stehe diesbezüglich momentan wirklich auf dem Schlauch, und wäre für jeden Hinweis oder Tipp dankbar.
ich habe ein Problem auf einem SQL-Server dem ich einfach nicht auf die Schliche komme. Hier zunächst mal eben der Aufbau:
1 MS - SQL-Server 2016 Standard auf einem Windows-Server 2012 im Web
ca. 10 Mobile und stationäre Geräte mit SQL-Express + Access Frontend.
Die Geräte replizieren alle 15 min. (Internetverbindung vorausgesetzt) die Daten mit dem Server.
Klappt auch alles, erreichen alle den Server und replizieren munter vor sich hin.
Das Problem:
Es kommt sehr regelmäßig zu Konflikten bei denen sehr häufig die falschen Datensätze als Gewinner ausgewählt werden. Angepasste Konfliktlöser kommen leider nicht in Frage, da die Clients wie gesagt mit SQL-Express laufen. Der Standardkonfliktlöser (ist ja "spät gewinnt") würde theoretisch auch reichen, wenn er denn richtig "lösen" würde. Häufig ist es aber so, dass auf einem Gerät ein Eintrag gemacht wird, die Replikation findet statt, und der Eintrag wird verworfen, obwohl kein anderes Gerät diesen Datensatz zu diesem Zeitpunkt angefasst hat. Habe schon sämtliche möglichen Ursachen im Frontend analysiert, aber daran liegt es nicht.
Was mich skeptisch macht: wenn es zu einem Konflikt kommt, meldet der Konfliktlöser (sinngemäß): "Der Datensatz wurde sowohl auf [Servername] als auch auf [Gerätename] bearbeitet. Der Konfliktlöser hat [Servername] als Gewinner ausgewählt." Es kommt nie der Hinweis, dass ein Konflikt zwischen zwei Geräten stattgefunden hat, sondern immer zwischen einem Gerät und dem Server selbst.
Kann es eventuell sein, dass auf dem Server regelmäßig irgendwelche Standardroutinen laufen, die einen Update-Vorgang auslösen? Der Server enthält auf jeden Fall keine selbst programmierten SPs oder Trigger, ist wirklich nur eine reine Datenschleuder ohne irgendwelche Logik.
Ich stehe diesbezüglich momentan wirklich auf dem Schlauch, und wäre für jeden Hinweis oder Tipp dankbar.