Mit ‘Synchronisation’ getaggte Beiträge

Technischer Ablauf der Synchronisation mit NAV 2013 R2

Veröffentlicht: 3. Juli 2014 in Tipp
Schlagwörter:

Hi NAV-Anwender und Entwickler :),

seit NAV 2013 R2 (bzw. seit der Multi Tenancy Funktion) hat Microsoft die Aktualisierung einer Änderung in der Datenbank umgekrempelt. Wir waren es vorher alle gewohnt, dass man ein Objekt speichert und dies direkt in der SQL Datenbank gesichert und für alle im Zugriff ist. Dies ist nun nicht mehr so!! Nach meinen Gesprächen mit anderen Fachleuten (unter anderem MS), Tests und Analysen und lesen diverser Blogeinträge läuft die Synchronisation nun so ab:

  1. Beim kompilieren wird das Objektes in die „Object Metadata“ geschrieben. Zu diesem Zeitpunkt ist es NOCH NICHT auf dem SQL Server und somit auch nicht im Zugriff des Service Tiers.
  2. Es existiert in der „Object Metadata“ SQL Ebene ein Tabellen Trigger. Dieser füllt beim Löschen, Ändern und beim Einfügen die „Object Tracking“ Tabelle. In dieser steht das geänderte Objekt mit einem Timestamp.
  3. Während der Synchronisation der Objekte (siehe Beitrag Synchronisation via Powershell) wird mit der „Objekt Tracking“ Tabelle geprüft, ob es Änderungen gibt. Genauer gesagt überprüft die Anwendung hier mittels des Timestamps ob neue Änderungen existieren und welches Objekt übertragen werden muss (Vermute in der „Object Tracking“).
  4. Gibt es Änderungen für ein Objekt, wird dieses physikalisch in die SQL Datenbank geschrieben.
  5. Daraufhin wird der Stand in die „Object Metadata Snapshot“ übertragen.

Das bedeutet: Ist in der „Object Metadata Snapshot“ kein aktueller Datensatz des geänderten, eingefügten oder gelöschten Objektes enthalten, ist die Synchronisation nicht erfolgreich abgeschlossen worden.
Des Weiteren vermute ich, dass beim neustart des Servicetiers immer die aktuellste Version aller Objekte geladen werden und Schritt 4 und 5 durchgeführt wird.

Falls wer weitere Informationen und/oder Korrekturen diesbezüglich hat, bitte her damit. Ein sehr interessantes und wichtiges Thema.
Mit freundlichen Grüßen,
Matthias König

P.S. hier auch eine Zusammenfassung von Saurav Dhyani des MS Kommentars:  Saurav Dhyanis „NAV 2013 R2 Synchronization Paradigm.“
Dieser beschreibt nahezu den selben Ablauf wie ich hier 🙂

Advertisements