Before applying a download file to a remote database, dbmlsync does a number of things to ensure that the synchronization is valid.
dbmlsync checks the download file to ensure that the file-definition database that was used to create it has:
the same publication as the remote database
the same tables and columns used in the publication
the same foreign key relationships and constraints as those tables and columns
dbmlsync checks to see if there is any data in the publication that has not been uploaded from the remote. If there is, the download file is not applied, because applying the download file could cause pending upload data to be lost.
dbmlsync checks the last download timestamp, next last download timestamp, and creation time of the download file to ensure that:
newer data on the remote database will not be overwritten by older data contained in the download file.
a download file will not be applied if applying it means that the remote database would miss some changes that have occurred on the consolidated database. This situation might occur if the remote did not apply previous file-based downloads.
See Automatic validation.
Optionally, dbmlsync checks the generation number in the remote database to ensure it matches the generation number in the download file.
Optionally, you can create custom validation logic with the sp_hook_dbmlsync_validate_download_file stored procedure.
For more information, see Custom validation.
MobiLink generation numbers