Generation numbers provide a mechanism for forcing remote databases to upload data before applying any more download files. This is especially useful when a problem on the consolidated database has resulted in data loss and you must recover lost data from the remote databases.
On the remote database, a separate generation number is automatically maintained for each subscription. On the consolidated database, the generation number for each subscription is determined by the begin_publication script. Each time a remote performs a successful upload, it updates the remote generation number with the value set by the begin_publication script in the consolidated database.
Each time a download file is created, the generation number set by the begin_publication script is stored in the download file. A remote site will only apply a download file if the generation number in the file is equal to the generation number stored in the remote database.
Whenever the generation number generated by the begin_publication script for a file-based download changes, the remote databases must perform a successful upload before they can apply any new download files.
The sp_hook_dbmlsync_validate_download_file stored procedure can be used to override the default checking of the generation number.
For more information about managing MobiLink generation numbers, see: