Synchronisierungskonflikte mit dem Server beheben
In diesem Artikel finden Sie Informationen zur Lösung von Synchronisierungskonflikten zwischen Mobilgerät und Server.
Synchronisierungsfehlertabelle
Im Falle eines Synchronisierungsfehlers generiert das System automatisch einen neuen Eintrag in der Tabelle Synchronisierungsfehler in Dataverse. Diese Tabelle ist mit den folgenden Spalten strukturiert.
Spaltenname | Beschreibung | Beispiel |
---|---|---|
Fehler-Uhrzeit | Zeit, zu welcher der Fehler erstellt wurde. | 17.05.2024, 7:16 Uhr |
Fehlermeldung | Beschreibung des Fehlers. | Entity Account With Id = <RowId> Does Not Exist |
Fehlerart | Art des Fehlers, z. B. ein Konflikt oder ein Fehler, bei dem der Datensatz nicht gefunden wurde. | Datensatz nicht gefunden |
Datensatz | Aktualisierter Datensatz im Synchronisierungsfehler. | Contoso |
Bes. | Benutzender, der den Datensatz aktualisiert hat. | John Doe |
Action | Auf den zu synchronisierenden Datensatz angewendete Aktion. | Aktualisieren |
Aktionsdaten | JSON, das die Nutzlast der Aktion enthält. | {"Nachname":"Contoso2"} |
Anforderungsdaten | JSON, das die Abfrage enthält. | {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"} |
Fehlercode | Code des Fehlers. | -2147015424 |
Hinweis
Stellen Sie sicher, dass die dem Benutzer zugewiesene Rolle Leserechte für die Tabelle Synchronisierungsfehler gewährt. Weitere Informationen: Erstellen oder Bearbeiten einer Sicherheitsrolle, um Zugriff zu verwalten
Empfehlungen zur Verwendung der Synchronisierungsfehlertabelle
Die Tabelle Synchronisierungsfehler ist eine Standardtabelle Dataverse . Wir empfehlen Ihnen, eine modellgesteuerte App zu erstellen, um die Synchronisierungsfehler zu verwalten.
Wenn Sie die modellgesteuerte App ausführen, können Sie die Synchronisierungsfehler jedes Benutzers sehen. Wenn Sie eine Zeile mit einem Synchronisierungsfehler auswählen, können Sie über die Befehlsleiste Änderungen erneut versuchen.
Synchronisierungsfehler auf der Gerätestatusseite
Synchronisierungsfehler werden automatisch auf der Seite Gerätestatus angezeigt. Die Seite Gerätestatus ist in modellgesteuerten Apps standardmäßig verfügbar, muss jedoch in der Canvas-App eingerichtet werden. Weitere Informationen finden Sie unter Die Offlinevorlage und des Offlinestatussymbol verwenden.
Verwenden Sie einen Cloud-Flow, um bei Synchronisierungsfehlern Maßnahmen zu ergreifen
Sie können einen automatisierten Cloud-Flow in Power Automate mithilfe des Dataverse-Triggers erstellen, wenn eine Zeile hinzugefügt, bearbeitet oder gelöscht wird. Der Flow kann automatisch eine E-Mail senden oder eine Benachrichtigung an das Gerät senden.
Hinweis
Um die E-Mail-Adresse des Benutzers innerhalb des Flows abzurufen, fügen Sie die Dataverse Aktion Zeile nach ID abrufen hinzu, indem Sie die Spalte Eigentümer der Zeile Synchronisierungsfehler verwenden.
Synchronisierungskonflikt
Tritt ein Diskrepanz bei Daten zwischen Client und Server auf, kommt es zu Konfliktfehlern. Standardmäßig werden Änderungen, die von einem Benutzer im Offlinemodus vorgenommen werden, automatisch mit dem Server synchronisiert, wenn der Benutzer wieder online ist.
So werden Synchronisierungskonflikte gelöst
Wenn ein Benutzer Änderungen an Daten in einer Offline-App vornimmt, werden Aktualisierungen für jede Spalte an Dataverse zurückgesendet, sobald das Netzwerk verfügbar ist. Die letzte Aktualisierung jeder Spalte wird in Dataverse gespeichert, damit diese Synchronisierung nicht aufgrund widersprüchlicher Änderungen fehlschlägt.
Serverseitige Plug-Ins und Validierungen können Änderungen ungültig machen. Diese Änderungen werden lokal rückgängig gemacht und ein Fehler wird in die Synchronisierungsfehler-Dataverse-Tabelle geschrieben.
Einstellungen zur Konfliktlösung
Wichtig
Die Einstellungen zur Konfliktlösung gelten nicht für Canvas-Apps.
Wenn Offline-Updates zu häufig abgelehnt werden, sollten Sie die Einstellung zur Konfliktlösung auf den Standardwert ändern.
- Melden Sie sich beim Power Platform Admin Center an.
- Wählen Sie im Navigationsbereich Umgebungen aus.
- Wählen Sie eine Umgebung aus.
- Wählen Sie in der Befehlsleiste Einstellungen aus.
- Wählen Sie Produkte > Funktionen aus.
- Deaktivieren Sie im Abschnitt Erweiterte mobile Offline-Einstellungen für modellgesteuerte Apps die Option Konflikterkennung für mobile Offline-Synchronisierung aktivieren.
Hinweis
Wenn diese Option aktiviert ist (nicht empfohlen), können Updates auf dem Server verhindern, dass Client-Updates angewendet werden. Konfliktfehler müssen manuell behoben werden.