Um die Integrität von Synchronisationen sicherzustellen, muss dbmlsync dafür sorgen, dass keine Zeilen im Download zwischen der Erstellung des Uploads und der Ausführung des Downloads verändert werden.
Auf allen Plattformen außer Windows Mobile setzt dbmlsync standardmäßig eine gemeinsame Sperre auf alle Tabellen, die in einer zu synchronisierenden Publikation enthalten sind. Unter Windows Mobile setzt dbmlsync standardmäßig eine exklusive Sperre. dbmlsync bezieht die Sperre, bevor der Upload aufgebaut wird, und hält die Sperre aufrecht, bis der Download übernommen wird.
Weitere Hinweise zu Sperren finden Sie unter Zeilensperren.
Mit den folgenden Optionen können Sie das Sperrenverhalten anpassen:
Wenn bei der Verwendung des Sperrmechanismus weitere Verbindungen zur Datenbank vorhanden sind und diese Verbindungen Sperren für die Synchronisationstabellen besitzen, schlägt die Synchronisation fehl. Um sicherzustellen, dass die Synchronisation auch dann sofort ausgeführt wird, wenn andere Sperren vorhanden sind, verwenden Sie die dbmlsync-Option -d. Wenn diese Option angegeben ist, wird jede Verbindung mit Sperren, die die Synchronisation behindern könnten, von der Datenbank getrennt, sodass die Synchronisation vorgenommen werden kann. Nicht festgeschriebene Änderungen der getrennten Verbindungen werden zurückgesetzt.
Weitere Hinweise finden Sie unter Option -d.
Sie können den Schutz der Datenintegrität auch sicherstellen, indem Sie die erweiterte Option LockTables auf OFF setzen. Damit wird verhindert, dass Tabellen eines Artikels gesperrt werden. Dies bewirkt, dass dbmlsync alle Zeilen protokolliert, die nach der Erstellung des Uploads erstellt werden. Der empfangene Download wird nicht übernommen, wenn Zeilen im Download verändert wurden. Dbmlsync versucht dann erneut, eine Synchronisation auszuführen. Der erneute Versuch ist erfolgreich, sofern kein neuer Download-Konflikt erkannt wird.
Weitere Hinweise finden Sie unter Erweiterte Option LockTables (lt).
Bei der Erkennung eines Konflikts wird der Download abgebrochen und die Downloadvorgänge werden zurückgesetzt, um ein Überschreiben der neuen Änderung zu verhindern. Das Dienstprogramm dbmlsync versucht dann erneut, die Synchronisation einschließlich des Upload-Schritts durchzuführen. Da die Zeile nun zu Beginn des Synchronisationsvorgangs vorhanden ist, wird sie in den Upload einbezogen.
Standardmäßig versucht dbmlsync, die Synchronisation auszuführen, bis sie erfolgreich ist. Sie können die Anzahl der Neuversuche mit der erweiterten Option ConflictRetries begrenzen. Wenn Sie ConflictRetries auf -1 setzen, unternimmt dbmlsync so lange Synchronisationsversuche, bis die Synchronisation erfolgreich ist. Wenn Sie die Option auf eine nicht negative Ganzzahl setzen, führt dbmlsync eine entsprechende Anzahl an Neuversuchen aus.
Weitere Hinweise finden Sie unter Erweiterte Option ConflictRetries (cr).
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |